[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]