Solaris
Solaris:如何列出每個程序的交換空間?
在 Solaris 上,如何找出給定程序佔用了多少交換空間?或者更好的是,如何列出所有按交換空間使用情況排序的正在執行的程序?
我特別要求 Solaris。我沒有
top
可用的命令,prstat
而且swap
似乎也無法提供有關給定程序正在使用多少交換空間的資訊。
您可以使用以下命令:
pmap -S <pid>
查看所有記憶體統計資訊,包括交換使用情況。
使用一點 shell 魔法,您可以將其包裝在 bash 循環中:
cd /proc for i in *; do SWAP=`pmap -S $i | grep ^total | awk '{ print $3; }'` [ "xx$SWAP" != "xx" ] && echo "$SWAP bytes $i" done | sort -n
輸出以字節為單位,格式為:
<number> bytes <pid>
我不確定 $3 是否與您想要的列匹配,因為它是“Kbytes”而不是“Swap”列。
在標題中它是第三個但不在
grep total
(因為“total Kb”中的空白):Address Kbytes Swap Mode Mapped File total Kb 240576 235028`