ps_mem 显示 Linux 上每个程序的内存使用情况

[ad_1]

ps_mem 是一个用于检查 Linux 上每个程序核心内存使用情况的工具。
它适用于 Python 2 和 3,除了 Python 之外,它没有依赖项。

与许多其他报告每个进程的内存使用情况的工具不同,ps_mem 报告程序的 RAM 使用情况。 例如,它显示了所有 Chromium 进程组合使用了多少 RAM。
程序开发人员指出,ps_mem 名称用于向后兼容,但更准确的名称是 coremem。

显示的 RAM 是通过将私有 RAM 的总和与程序进程的共享 RAM 的总和相加来计算的。

不带参数运行 ps_mem 会按升序显示程序列表及其 RAM 使用情况(从最低 RAM 使用情况到最高)。 对于每个程序,它会显示私有、共享和总使用的 RAM,以及进程数。 通过使用 -S 选项(
sudo ps_mem -S

)。

这是 ps_mem 输出(由于它很长而被修剪):

[email protected]:~$ sudo ps_mem
 Private  +   Shared  =  RAM used Program

192.0 KiB +   6.5 KiB = 198.5 KiB nvidia-persistenced
220.0 KiB +   9.5 KiB = 229.5 KiB vnstatd
232.0 KiB +   7.5 KiB = 239.5 KiB acpid
232.0 KiB +  18.5 KiB = 250.5 KiB atd
236.0 KiB +  41.5 KiB = 277.5 KiB blkmapd
..........................................................
 35.3 MiB +   4.3 MiB =  39.6 MiB goa-daemon
 52.3 MiB +  24.0 MiB =  76.3 MiB Xorg (2)
 81.4 MiB +  13.7 MiB =  95.0 MiB systemd-journald
364.8 MiB +  26.0 MiB = 390.8 MiB gnome-shell (2)
  1.2 GiB + 121.0 MiB =   1.3 GiB firefox-trunk (11)
---------------------------------
                          7.6 GiB
=================================

ps_mem 还可以显示每个进程的内存使用情况,而不是在每个程序的基础上显示它,方法是将它与 -d 选项一起使用(
sudo ps_mem -d

)。

该工具允许按 PID 过滤结果。 ps_mem README 中显示了一个有用的用例示例 – 将 ps_mem 输出限制为当前用户:

sudo ps_mem -p $(pgrep -d, -u $USER)

这些是 ps_mem 支持的选项:

$ ps_mem --help
Usage: ps_mem [OPTION]...
Show program core memory usage

  -h, -help                   Show this help
  -p [,pid2,...pidN]     Only show memory usage PIDs in the specified list
  -s, --split-args            Show and separate by, all command line arguments
  -t, --total                 Show only the total value
  -d, --discriminate-by-pid   Show by process rather than by program
  -S, --swap                  Show swap information
  -w                       Measure and show process memory every N seconds

安装 ps_mem

ps_mem 在存储库中可用 Fedora、RHEL、CentOS 和 Arch Linux。 您可以使用如下方式安装它。

Fedora:

sudo dnf install ps_mem

CentOS / RHEL:

sudo yum install ps_mem

Arch Linux:

sudo pacman -S ps_mem

在存储库中没有 ps_mem 的其他 Linux 发行版(如 Debian、Ubuntu 等)上,您可以下载 Python 脚本并将其安装到
/usr/local/bin

使用:

wget https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py
sudo install ps_mem.py /usr/local/bin/ps_mem
rm ps_mem.py

[[Edit]]在较新的 Ubuntu 版本上,ps_mem 将无法工作,因为它使用“#!/usr/bin/env python”,而不是“#!/usr/bin/env python3”。 使用以下方法修复此问题:

sudo sed -i 's/env python$/env python3/' /usr/local/bin/ps_mem

您也可以使用 PIP 安装 ps_mem (pip install ps_mem)。

通过运行使用它 sudo ps_mem, 或输入 ps_mem --help 查看可用选项。

通过@m_wimpress

[ad_2]

Related Posts