Sun Solaris의 메모리 활용도(%)는 무엇입니까?

Sun Solaris의 메모리 활용도(%)는 무엇입니까?

Sun Solaris 시스템의 메모리 사용률을 % 백분율 형식으로 얻고 싶습니다.

vmstat 1 1 | tail -1 | awk 'a=`/usr/sbin/prtconf|fgrep Memory|awk '{print $3*1024}'{ print 100-($5/$a)*100}'                                      

다음 오류가 발생합니다.

awk: syntax error near line 1
awk: bailing out near line 1

또한 이 쿼리에 대한 대안이 있는지 제안해 주세요.

답변1

Solaris awk(스위치 없음 -v또는 변수 설정 허용)를 사용하고 원시 쿼리로 시작하면 다음을 수행할 수 있습니다.

여유 메모리 비율:

a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 1 | tail -1 | awk "{print (\$5/$a)*100}"

사용된 메모리 비율:

a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 1 | tail -1 | awk "{print 100-(\$5/$a)*100}"

먼저 셸에서 변수를 할당한 다음 vmstat셸 변수 대체를 사용하여 쿼리를 실행합니다. 이를 위해서는 큰따옴표를 사용 하고 변수를 awk이스케이프해야 합니다. 두 가지 모두를 최대한 활용하기 위해 둘 중 하나를 함께 사용할 awk필요는 없습니다 .fgrepawkawk

제가 사용 가능한 Opensolaris에서 테스트되었으므로 YMMV입니다.

답변2

echo ::memstat | mdb -k

커널, zfs, 사용자 및 여유 메모리의 사용률이 생성됩니다.

루트가 되어야 합니다.

관련 정보