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 프롬프트를 사용하지 않고 출력만 원하는 경우 명령에서 사용할 수 있습니다 .