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

관련 정보