我可以知道如何计算 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 提示符。