在 Linux 中更准确地显示内存使用情况的 Smem 工具
有多种工具可用于监控 Linux 系统上的内存使用情况。通过监控内存使用进行内存管理是我们 Linux 系统上要做的重要事情之一,Smem 是 Linux 中可用的内存使用监控工具之一。 Smem 在命令行上显示进程的内存使用情况,smem 还使用颜色编码的饼图和/或条形图显示图形输出。使用 smem,我们可以轻松地可视化系统上的内存使用情况。
安装 Smem:
在 Debian/Ubuntu 上,可以使用以下命令从存储库安装 smem:
sudo apt-get install smem
命令行选项:
安装完成后,我们可以以普通用户运行smem,它显示特定用户启动的进程的内存使用情况,进程按PSS递增的顺序排列。现在我们可以得到一个使用当前用户 ID、Swap、USS(唯一集大小——这部分被一个进程占用的内存,该进程是主内存的一部分并且是私有的)、PSS 启动的所有进程消耗的内存的报告(Proportional Set Size——这部分被一个进程占用,它是主存的一部分,由私有内存组成),RSS(Resident Set Size——一个进程在主存中占用的内存部分)在增加命令。此命令只需在终端中键入以下命令即可报告所有正在运行的 PID:
smem
您还可以使用以下命令以超级用户身份运行 smen 来查看整个系统中所有系统用户的内存使用报告:
sudo smem
使用 smem 时可以调用更多选项,您可以使用以下命令在 smen 手册中查看:
man smen
生成图形输出:
我们可以通过生成图形图表来显示内存使用情况来生成图形输出。但是我们需要预先安装以下内容:
- Python (2.4 或以上)
- matplotlib 库:用于生成图表。
Ubuntu/Debian 用户可以通过运行以下命令获取 matplotlib:
sudo apt-get install python-matplotlib
安装它们后,您现在可以获得以下形式的内存使用情况的可视化表示:
- 饼形图
- 条状图。
使用饼图:
使用饼图,您可以使用以下命令以饼图的形式查看内存使用情况(USS、PSS 和 RSS):
smem --pie name -s uss
上面的屏幕截图生成了一个饼图,显示了 USS 的内存使用情况。要获取 PSS 和 RSS,只需在上面的命令中将 USS 替换为 PSS 或 RSS 即可。
您还可以使用 –bar 命令生成条形图以获取条形图。
smem --bar name -s uss