Solaris 11.3 システムの総メモリ使用率とパーセンテージを計算する方法がわかりますか?
以下の計算が間違っているのでしょうか?それとも別の方法がありますか?
memfree=$(vmstat 1 2 | awk '{print $5}' | tail -1)
memtotal=$(vmstat 1 2 | awk '{print $4}' | tail -1)
memused=$((memtotal-memfree))
mempercent=$((memused * 100 / memtotal))
オペレーティングシステムのバージョンは次のとおりです。 SunOS 5.11 11.3 sun4v sparc
参照、vmstat(8)
新しくインストールされた Solaris 11.4 VM の出力はvmstat 1 2
次のとおりです。
root@solaris:~# vmstat 1 2
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr cd -- -- -- in sy cs us sy id
0 0 0 4672456 2127260 342 1628 0 0 0 0 0 48 0 0 0 566 10129 2466 11 13 76
0 0 0 4753212 830276 5 141 0 0 0 0 0 0 0 0 0 527 1205 469 2 5 93
答え1
Solarisはこれにmdb dcmdを提供します。
root@solaris:~# mdb -k
Loading modules: [ unix genunix specfs dtrace mac cpu.generic uppc zvpsm scsi_vhci zfs zvblk ip hook neti arp usba kssl sockfs lofs random idm cpc crypto fcip fctl fcp ufs logindmux ptm nfs ipc ]
> ::memstat
Page Summary Pages Bytes %Tot
---------------------------- ---------------- ---------------- ----
Kernel 368046 1.4G 9%
ZFS 2236330 8.5G 53%
Anon 955993 3.6G 23%
Exec and libs 95340 372.4M 2%
Page cache 32844 128.2M 1%
Free (cachelist) 61894 241.7M 1%
Free (freelist) 443246 1.6G 11%
Total 4193693 15.9G
echo ::memstat|mdb -k
たとえば、mdbプロンプトを使用せずに出力のみを希望する場合は、コマンドで使用できます。