yaotti's diary

Software is Eating the World

topコマンド, スワップアウト

アクティビティモニタを眺めていると, Swap used: 1.09GB とかなっていて何のプロセスがスワップされているのか気になったので色々調べた.

Macのtopコマンド

Macでスワップ領域のサイズを知るには,topコマンドをSオプション付きで実行する.
すると5行目に以下のように表示されるのだけれど

VM: 228G vsize, 1041M framework vsize, 2574640(3) pageins, 420573(0) pageouts. Swap: 1113M + 935M free.

この1113Mというのがswapoutした領域のサイズで,935Mが利用可能なスワップ領域のサイズらしい.
pagein/pageoutの数はvm_statというコマンドで見られる.


また,twitterでlsofコマンドというのをhttp://twitter.com/kenji_rikitake:title@kenji_rikitakeさんに教えてもらいました.これは指定されたファイルを開いているプロセスを調べるコマンド.
これを使えば何のプロセスでswap outしているかわかる!と思ったのだけれど,

lsof /private/var/vm/swapfile*

としても何も表示されない…
これはスワップインされたのにswapfile0とかのファイルが消されず残っているってことだろうか…消しても問題ないのかな.