使用此 Linux 命令行工具获取内存使用统计信息使用此 Linux 命令行工具获取内存使用统计信息使用此 Linux 命令行工具获取内存使用统计信息使用此 Linux 命令行工具获取内存使用统计信息
  • 业务
  • 目标
  • 支持
  • 关于
  • 联系我们
  • 登录
✕

使用此 Linux 命令行工具获取内存使用统计信息

发表 admin at 2025年2月28日
类别
未分类
标签

smem 命令允许您快速查看 Web 应用程序的内存使用情况。

在我的编程工作中,我经常需要了解Web应用程序使用的内存。在开始讨论细节和浏览器分析工具之前,粗略的估计通常就足够了。

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

(托马斯·瓦拉克萨,CC BY-SA 4.0)

幸运的是,有 smem,这是另一个用于查看内存使用统计信息的命令行实用程序。使用您选择的包管理器安装它,例如:

sudo apt install smem

要获取 Firefox 的总内存使用情况,请执行以下操作:

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

这里会发生什么?

  • -c 开关指定要显示的列。我只对 pss 列感兴趣,该列显示进程分配的内存。
  • -P 切换过滤器进程以仅包含名称中带有 firefox 的进程
  • -k 开关告诉以兆/千兆字节而不是普通字节显示内存使用情况
  • -t 开关显示总计
  • tail -n 1 过滤器仅输出最后一行,即总数所在的位置

输出非常简单:

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

开门见山!而且,在又忙碌了一天之后,打开了 50 多个选项卡,Firefox 仍然只使用了 5 GB。拿走,谷歌浏览器;-)

使用脚本更容易

为了方便起见,创建一个名为 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

显示类似这样的内容:

(托马斯·瓦拉克萨,CC BY-SA 4.0)

有关更多详细信息,我建议查看 smem 手册页。

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

享受!

本文最初出现在作者的博客上,经许可重新发布。

©2015-2025 Norria Group support@norria.com