管理者のみならず開発者,そして私のようなアーキテクトにとっても良い友人のTopコマンド.その友人がもたらしてくれる情報の内,VIRT,RESそしてSHRの意味合いをもう一度おさらいしておく.
VIRT (Virtual Image )
VIRTはプロセスの
- コード
- データ
- ライブラリ
- スワップアウトしたページ
- メモリマップドファイル
の内,まだ使用されていないものの合計であるわけで,全てがメモリを指しているわけではないので注意.C/C++コードでただnew或いはmallocしただけだと,確保した分がVIRTのサイズに上乗せされる.Windowsでいうところのコミットチャージか.
RES (Resident Memory)
RESは実際にプロセスに利用されているデータの総計を示している.Javaで大きなヒープを確保していたり,C/C++でたくさんnewあるいはmallocしているとRESとVIRTの差が大きくなる.Windowsでいうところのワーキングセットである.
SHR (Shared Memory)
ライブラリなど,他のアプリケーションからも利用される可能性のあるメモリの総計である.
蛇足 - PSで指定したプロセスの情報だけ見る
ps -pオプションで指定したプロセスの情報を見ることが出来る.
ps -pオプションで指定したプロセスの情報を見ることが出来る.
0 件のコメント:
コメントを投稿