nominal memory usage, 명목 메모리 사용량actual memory usage, 실질 메모리 사용량nominal memory usage ratio, 명목 메모리 사용률actual memory usage ratio, 실질 메모리 사용률, 실제 메모리 사용률 (리눅스)
목차
- 1 개요
- 2 예시 1
- 3 예시 2 (명목 100%)
- 4 스크립트
- 5 같이 보기
- 6 주석
- 7 참고 자료
개요[편집]
- 리눅스는 유휴 공간을 캐시 영역으로 잡아두는 습성이 있다.
(...)[1]
- 실질적인 의미의 메모리사용률을 구하려면 캐시 영역도 유휴 메모리로 봐야 한다. ★
명목메모리 사용률 = ( total - free ) / total실질메모리 사용률 = ( total -
free2[2] ) / total = ( total - free - buffers - cached) / total- free 열의 두번째 행이 대략 실질적인 유휴메모리 용량이다.
예시 1[편집]
[root@localhost1 ~]# free -m total used free shared buffers cached Mem: 354636 145920 208715 0 1695 10028 -/+ buffers/cache: 134195 220440 Swap: 133195 0 133195
- 전체 용량 = 354636
- 명목 여유 메모리 = 208715
- 실질 여유 메모리 = 220440 (≒208715+1695+10028)
예시 2 (명목 100%)[편집]
[root@localhost2 ~]# free -g total used free shared buffers cached Mem: 125 125 0 0 1 96 -/+ buffers/cache: 26 99 Swap: 7 1 6
- 전체 용량 = 125 GB
- 명목 사용량 = 125 GB, 명목 유휴량 = 0 GB, 명목 사용률 = 100.0%
- 실질 사용량 = 26 GB, 실질 유휴량 = 99 GB, 실질 사용률 = 20.8%
스크립트[편집]
MEM_TOTAL=`free | grep ^Mem | awk '{print $2}'` MEM_FREE1=`free | grep ^Mem | awk '{print $4}'` MEM_FREE2=`free | grep ^-/+ | awk '{print $4}'` MEM_NOMINAL=`echo "100-(100*$MEM_FREE1/$MEM_TOTAL)" | bc -l` MEM_ACTUAL=`echo "100-(100*$MEM_FREE2/$MEM_TOTAL)" | bc -l` echo NOMINAL=${MEM_NOMINAL:0:5}% ACTUAL=${MEM_ACTUAL:0:5}%
[root@zetawiki ~]# free total used free shared buffers cached Mem: 1048576 1040180 8396 0 62796 101372 -/+ buffers/cache: 876012 172564 Swap: 2031608 52680 1978928
[root@zetawiki ~]# MEM_TOTAL=`free | grep ^Mem | awk '{print $2}'` [root@zetawiki ~]# MEM_FREE1=`free | grep ^Mem | awk '{print $4}'` [root@zetawiki ~]# MEM_FREE2=`free | grep ^-/+ | awk '{print $4}'` [root@zetawiki ~]# MEM_NOMINAL=`echo "100-(100*$MEM_FREE1/$MEM_TOTAL)" | bc -l` [root@zetawiki ~]# MEM_ACTUAL=`echo "100-(100*$MEM_FREE2/$MEM_TOTAL)" | bc -l` [root@zetawiki ~]# echo NOMINAL=${MEM_NOMINAL:0:5}% ACTUAL=${MEM_ACTUAL:0:5}% NOMINAL=99.19% ACTUAL=83.54%