用 smem 命令获取内存使用统计信息
创始人
2024-03-02 08:47:02
0

smem 命令允许你快速查看你的网页应用的内存使用情况。

在我的编程工作中,我经常需要了解网页应用的内存使用情况。在深入研究细节和浏览器剖析工具之前,一个粗略的估计通常就足够了。

为了了解 Linux 或 macOS 上的内存使用情况,人们通常使用 tophtop。我很想看到一个单一的数字:一个进程占用了多少内存。但这些工具所显示的统计数据可能很难理解。对于网页浏览器来说,它甚至更加复杂,因为它们经常运行许多独立的进程。它们在 top 输出中显示为一个长长的列表,每一个都有自己的单独指标。

Memory usage using htop

smem 命令

幸运的是有 smem,另一个用于查看内存使用统计的命令行工具。用你选择的包管理器安装它,例如:

sudo apt install smem

要获得 Firefox 的总内存使用量,请执行:

smem -c pss -P firefox -k -t | tail -n 1

这些开关做了什么?

  • -c 开关指定要显示的列。我只对 pss 列感兴趣,它显示一个进程分配的内存。
  • -P 开关过滤进程,只包括那些名字里有 firefox 的进程。
  • -k 开关显示以 MB/GB 为单位的内存使用情况,而不是单纯的字节数。
  • -t 开关显示总数。
  • tail -n 1 过滤器只输出最后一行,也就是总数的地方。

输出是非常简单的:

$ smem -t -k -c pss -P firefox | tail -n 1
4.9G

开门见山!而且,经过又一天忙碌的工作,打开了 50 多个选项卡,Firefox 仍然只使用 5 GB。看看吧,Google Chrome。

用一个脚本更容易

为了方便起见,我创建一个名为 memory-use 的小脚本,它将进程名称作为参数。我把所有的脚本都放在 ~/bin 里,所以:

echo 'smem -c pss -P "$1" -k -t | tail -n 1' > ~/bin/memory-use && chmod +x ~/bin/memory-use

现在我可以很容易地测量任何应用的内存使用:

memory-use firefox
memory-use chrome
memory-use slack

还有更多!

该工具不仅可以显示总的内存使用情况。它甚至可以生成图形输出。

比如:

smem --pie name -c pss

显示类似这样的内容:

Pie chart output from smem

关于更多的细节,我建议查看 smem 手册页

你可以在 https://linoxide.com/memory-usage-reporting-smem/ 上找到另一个很棒的教程。

希望你喜欢!

本文最初发表在作者的博客上,并经许可转载。


via: https://opensource.com/article/21/10/memory-stats-linux-smem

作者:Tomasz Waraksa 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

EUROCOM 推出 2k...
IT之家 6 月 22 日消息,厂商 EUROCOM 本月 19 ...
2025-06-22 15:43:08
安装CentOS至联想36...
核心配置确认与环境准备 对于联想ThinkSystem SR365...
2025-06-10 11:40:26
如何查看CentOS系统中...
掌控你的系统核心:CentOS查看CPU与内存信息指南 作为服务器...
2025-06-03 07:40:48
内存DDR4和DDR5的区...
1)内存频率,DDR5相比DDR4频率...
2025-06-01 20:06:35
【性能分析】分析JVM出现...
分析JVM出现的内存持续增加的性能故障手册 前言 本文通过常见的性...
2025-05-31 01:04:14
docker 容器相互访问...
我们都知道docker是一个个容器,他们相互独立互不...
2025-05-30 11:55:49

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...