收集云服务器优惠信息
记录云服务器使用心得

Smem工具:报告Linux中每个进程和每位用户的内存占用情况

内存管理,特别是监视内存使用情况,对于Linux系统服务器来说至关重要。不同的Linux发行版中有许多工具可用于监视内存使用情况,每种工具的功能各不相同。

在本文当中,小编主要介绍smem报告工具,它可以帮助你在Linux环境中报告每个进程和每个用户的内存消耗情况。

Smem工具特点

smem是一个命令行内存报告工具,它为用户提供有关Linux系统上内存使用情况的各种报告。smem有一个独特之处,与其它传统内存报告工具不同,它报告PSS(Proportional Set Size),这是虚拟内存设置中应用程序和库的内存使用情况的更有意义的表示。

现有的传统工具主要侧重于读取RSS(Resident Set Size),这是监视物理内存方案中内存使用情况的标准措施,但往往会高估应用程序的内存使用情况。此外,PSS通过确定虚拟内存方案中应用程序和库使用的内存的“公平共享”来给出合理的衡量标准。

smem工具具有以下特点:

  • 系统概览列表
  • 列表以及按进程、映射或用户进行过滤
  • 使用/proc文件系统中的数据
  • 来自多个数据源的可配置列表列
  • 可配置的输出单位和百分比
  • 轻松配置列表中的标题和总计
  • 使用目录镜像或压缩tar文件中的数据快照
  • 内置图表生成机制
  • 嵌入式系统中使用的轻量级捕获工具

在Linux中安装Smem

要在Linux系统中安装Smem,请使用以下适合你的特定Linux发行版的命令:

sudo apt install smem [Debian、Ubuntu和Mint]
sudo yum install smem [RHEL/CentOS/Fedora和Rocky/AlmaLinux]
sudoemerge -a sys-apps/smem [Gentoo Linux]
sudo apk add smem [Alpine Linux]
sudo pacman -S smem [Arch Linux]
sudo zypper install smem [OpenSUSE]
sudo pkg install smem [FreeBSD]

显示Linux内存使用统计信息

要查看所有系统用户整个系统的内存使用情况报告,请运行以下命令:

sudo smem

Smem–内存报告工具

当普通用户运行smem时,它会显示用户启动的进程的内存使用情况,进程按PSS递增的顺序排列。

在这里可以查看系统上的以下输出,例如了解tecmint用户启动的进程的内存使用情况:

smem

监控进程的用户内存使用情况

使用smem时可以调用许多选项,例如,要查看系统范围的内存消耗,请运行以下命令:

sudo smem -w

检查系统范围的内存消耗

显示Linux中每个用户的内存使用情况

要查看每个用户的内存使用情况,请运行以下命令:

sudo smem -u

检查每个用户的内存使用情况

此外,你还可以通过映射报告内存使用统计信息,命令如下:

sudo smem -m

检查内存使用统计信息

显示Linux中每个进程的内存使用情况

要按进程名称过滤输出,请调用-P--processfilter="regex"选项,命令如下:

sudo smem --processfilter="chrome"

检查进程的内存使用情况

输出格式非常重要,有一些选项可以帮助你格式化内存报告,我们将在下面看几个示例。

要在报告中显示所需的列,请使用-c--columns选项,如下所示:

sudo smem -c "name user pss rss"

显示特定列的内存使用情况

当然,你可以调用-p选项以百分比形式报告内存使用情况,如以下命令所示:

sudo smem -p

以百分比显示内存使用情况

下面的命令将在输出的每列末尾显示总计:

sudo smem -t

显示内存使用情况的视觉表示

此外,你还可以使用图形报告的选项,这样你可以生成进程及其PSS和RSS值的条形图,在下面的示例中,我们将生成root用户拥有的进程的条形图。

垂直面显示进程的PSS和RSS度量,水平面表示每个root用户进程:

sudo smem --userfilter="root" --bar pid -c"pss rss"

PSS和RSS值中的Linux内存使用情况

你还可以根据PSS或RSS值生成显示进程及其内存消耗的饼图。下面的命令输出root用户拥有的进程测量值的饼图。

名称--pie意味着按名称进行标记,-s选项有助于按PSS值排序。

sudo smem --userfilter="root" --pie name -s pss

Linux进程的内存消耗

除了用于标记图表的PSS和RSS之外,还有许多其它已知字段。如果想要获得帮助,只需键入smem -h或访问手动输入页面进行查看。

smem -h

总结

以下简单介绍了Smem工具,并且演示了几个用例。当然,为了更好地理解它,请将它与你可以在手册页上找到的许多其它选项一起配合使用,从而更好体验它的强大功能。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《Smem工具:报告Linux中每个进程和每位用户的内存占用情况》
文章链接:https://www.ecscoupon.com/4373.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!