我试图查明哪个进程正在我的 FreeBSD 服务器上占用交换空间。
我只能看到正在使用多少(顶部),但看不到哪个进程正在交换其内容。
我尝试用谷歌搜索这个,但没有找到任何东西。
有没有办法通过本机进程或使用某些外部软件来显示交换数据列表来实现此目的?
谢谢。
答案1
FreeBSD 的ps
命令W
在该state
列中打印 a 来指示进程被换出。默认情况下,ps
打印state
为第三列,因此这将为您提供您想要的内容:
$ ps ax | awk 'NR==1{print};$3 ~ /W/'
'NR==1{print}'
将为您提供列标题。如果您不需要或不想要它们,请忽略它。
另请注意,FreeBSD 的top
显示交换了进程名称(最后一列),并用尖括号括起来。