solarisプロセスが消費するメモリ量を確認する方法は?割り当てられた合計アドレス空間とRAMに常駐する量の両方が欲しいです。
私はいくつかのawkスクリプトでpmap出力を合計しようとしましたが、それはugいハックでした。スクリプトを作成するより良い方法はありますか?
solarisプロセスが消費するメモリ量を確認する方法は?割り当てられた合計アドレス空間とRAMに常駐する量の両方が欲しいです。
私はいくつかのawkスクリプトでpmap出力を合計しようとしましたが、それはugいハックでした。スクリプトを作成するより良い方法はありますか?
回答:
prstat -s rss
'-s'は、rss列でprstat出力をソートします(他の列については、manページを参照してください)。また、ユーザーごとの累積に対して「-a」オプションを試してください。
ps -eo pid,pmem,vsz,rss,comm | sort
-rnk2 | head
トップ10のRAMコンシューマ。'-o pmem'は、常駐メモリ、つまりプロセスが使用するRAMの割合を表示します。
ls -lh /proc/{pid}/as
プロセスの合計アドレス空間(vsz)を表示する簡単な方法。pgrepと組み合わせて使用すると、ユーザーごと、パターンごとなどに蓄積できます。例:
for pid in `pgrep -U webserver`; do ls -lh /proc/$pid/as; done
まあ、私はいくつかのマニュアルページを読んだ後、私は次のようになりました
ps -o vsz -p $PID | tail -1
とても簡単です。常駐サイズの形式はrssです。
スクリプトでこの出力のバリエーションを使用します。
# prstat -Z 1 1 | tail -3
ZONEID NPROC SWAP RSS MEMORY TIME CPU ZONE
220 56 1057M 413M 0.3% 1:26:49 0.1% 820f6ce5-7e37-4455-80ab-b28c5de19b43
Total: 56 processes, 169 lwps, load averages: 0.07, 0.06, 0.06
Zenoss Community Managerとしての私の$ .02 ...
Zenossは、すべてのネットワークデバイスとサーバーの状態、およびサーバーで実行されているプロセスを監視できます。コミュニティメンバーの1人が最近、SNMP経由でSolarisのプロセス監視を提出しました:http : //community.zenoss.org/docs/DOC-5882