Linuxでは、「top」コマンドは、メモリ使用量の詳細ではあるが高レベルの概要を表示します。
合計メモリ、使用済みメモリ、空きメモリ、バッファ使用量、キャッシュ使用量、スワップサイズ、スワップ使用量。
私の質問は、これらのメモリ使用量の数値を明確かつ簡単に表示するために使用できるコマンドは何ですか? Solarisの「コア」インストールに存在する場合のボーナスポイント。 「sar」はカウントされません:)
ここに基本があります。しかし、これらのどれもが「明確でシンプル」とみなされるかどうかはわかりません。
ps(1)
プロセスレベルビューの場合:
_$ ps -opid,vsz,rss,osz,args
PID VSZ RSS SZ COMMAND
1831 1776 1008 222 ps -opid,vsz,rss,osz,args
1782 3464 2504 433 -bash
$
_
vsz/VSZ:仮想プロセスの合計サイズ(kb)
rss/RSS:常駐セットサイズ(kb、不正確かもしれません(!)、manを参照)
osz/SZ:メモリー(ページ)の合計サイズ
ページからバイトサイズを計算するには:
_$ sz_pages=$(ps -o osz -p $pid | grep -v SZ )
$ sz_bytes=$(( $sz_pages * $(pagesize) ))
$ sz_mbytes=$(( $sz_bytes / ( 1024 * 1024 ) ))
$ echo "$pid OSZ=$sz_mbytes MB"
_
vmstat(1M)
_$ vmstat 5 5
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr rm s3 -- -- in sy cs us sy id
0 0 0 535832 219880 1 2 0 0 0 0 0 -0 0 0 0 402 19 97 0 1 99
0 0 0 514376 203648 1 4 0 0 0 0 0 0 0 0 0 402 19 96 0 1 99
^C
_
prstat(1M)
_ PID USERNAME SIZE RSS STATE PRI Nice TIME CPU PROCESS/NLWP
1852 martin 4840K 3600K cpu0 59 0 0:00:00 0.3% prstat/1
1780 martin 9384K 2920K sleep 59 0 0:00:00 0.0% sshd/1
...
_
swap(1)
「長いリスト」および「要約」モード:
_$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 256,1 16 1048560 1048560
$ swap -s
total: 42352k bytes allocated + 20192k reserved = 62544k used, 607672k available
$
_
top(1)
古いバージョン(3.51)は、SunのSolarisコンパニオンCDで入手できますが、これは「コミュニティ(Sun以外)がサポートされている」という免責事項があります。 sunfreeware.comまたはblastwave.orgから入手可能な最新のバイナリパッケージ。
_load averages: 0.02, 0.00, 0.00; up 2+12:31:38 08:53:58
31 processes: 30 sleeping, 1 on cpu
CPU states: 98.0% idle, 0.0% user, 2.0% kernel, 0.0% iowait, 0.0% swap
Memory: 1024M phys mem, 197M free mem, 512M total swap, 512M free swap
PID USERNAME LWP PRI Nice SIZE RES STATE TIME CPU COMMAND
1898 martin 1 54 0 3336K 1808K cpu 0:00 0.96% top
7 root 11 59 0 10M 7912K sleep 0:09 0.02% svc.startd
_
sar(1M)
sar
の何が問題なのでしょうか? :)
# echo ::memstat | mdb -k
Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 7308 57 23%
Anon 9055 70 29%
Exec and libs 1968 15 6%
Page cache 2224 17 7%
Free (cachelist) 6470 50 20%
Free (freelist) 4641 36 15%
Total 31666 247
Physical 31256 244
「top」は通常、Solarisで使用可能です。
そうでない場合、ほとんどのUNIXシステムで使用可能な「vmstat」に戻ります。
このように見えるはずです(AIXボックスから)
vmstat システム構成:lcpu = 4 mem = 12288MB ent = 2.00 kthrメモリページフォールトcpu ------ --------- ------------------------ ------------ ----- ------------------ rb avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 2 1 1614644 585722 0 0 1 22 104 0 808 29047 2767 12 8 77 3 0.45 22.3
コラム「avm」と「fre」は、合計メモリと空きメモリを示します。
「man vmstat」で詳細を確認できます。
Topはソースからコンパイルするか、sunfreeware.comからダウンロードできます。以前に投稿したように、vmstatは利用可能です(コアインストールにあると思いますか?)。