Solaris 11システムでメモリ使用率を確認するには?

Solaris 11システムでメモリ使用率を確認するには?

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プロンプトを使用せずに出力のみを希望する場合は、コマンドで使用できます。

関連情報