在 SuSE 下,(内存:总计 31908592k,已用 31421504k),我如何知道哪个进程或程序使用了我的内存?
答案1
用于检查进程 CPU/内存使用情况的标准(命令行)程序是,top
还有一个功能更全面的程序,htop
但在许多系统上,它top
无论如何都与之绑定(在大多数现代 Linux 系统上,bash
几乎总是绑定到相同的方式sh
)。还有各种适用于 top/htop 的 GUI 包装器可用
打开top后,点击M
会按照内存使用情况排序。
编辑 - 4-12
为了清晰起见,我决定扩展排序。这是top
从终端 shell 运行时的典型窗口,它已经按以下方式排序:%MEM
您最感兴趣的列%MEM
将为您提供该进程使用的总可用内存份额。VIRT
给出进程的虚拟内存占用量,其中只有RES
部分当前在物理内存中(其余部分被换出,当前未显示在表中)
为了按列排序,您点击F
(shift-F),屏幕将变为以下内容
如您所见,点击n
将选择按内存百分比排序(按 Enter 返回表格视图)。(有一个旧式快捷键 Shift-m,当点击表格视图时,它将切换按内存排序)您可以在表格视图中使用<
和>
(shift - 和 shift-.)来循环排序的列。
在表格视图中,按小写字母m
将切换内存摘要视图。
笔记:我尝试对列进行排序列,以便从第一幅图像开始对列进行打乱。
像许多 unix/linux 命令行实用程序一样,top 有很多小技巧和隐藏功能 - top 是一个非常强大的工具。例如,您可以同时显示多个表(例如前 5 个而不是前 20 个,但有 4-5 个不同的参数)- 怎么做?我不知道,但我在截屏时无意中发现了这一点。一本关于 *nix 的好书可以有一整章来介绍top
,所以上面的总结只是一个小入门,让你了解你需要了解你的流程。
答案2
这将输出进程的 pmem 和 rss 长度,值得尝试。
ps -eo pid,pmem,rss,comm --sort rss
答案3
您可以使用以下命令:
ps ww -eo pid,pcpu,pmem,rss,cmd --sort rss
字段“rss”表示内存使用情况
--sort rss - 表示按内存使用情况降序排序