top
要查看一些内存信息,我可以通过查看cat /proc/meminfo
。
在 /proc/meminfo 中,我可以看到整个系统的交换使用情况,如下所示:
SwapCached: 4 kB
SwapTotal: 33460220 kB
SwapFree: 33460216 kB
但可能会出现几乎所有交换空间都被使用的情况(即交换空间太小SwapFree
)。我如何才能确定哪些进程正在占用这些交换空间?
UPD:内存太小SwapFree
基本上意味着有某个进程占用了大量内存,并且很长时间没有使用。我需要找到这样的进程。
答案1
- 跑步
top
- 按下
f
以选择显示的字段 - 使用箭头键向下导航至 SWAP
- 命中
Space
- SWAP 前面会显示星号*
- 按右箭头键 - 这将允许您将 SWAP 移动到列表中的方便位置,例如 %MEM 和 TIME+ 之间
- 按 q 返回顶视图
第 5 步不是必需的,只是为了方便 - 如果没有它,SWAP 将显示为列表的最后一项,在之后COMMAND
。
答案2
您可以使用smem
命令行工具。
Memory can be reported by process, by user, by mapping,
or systemwide. Both text mode and graphical output are available.