시스템운영

LINUX 메모리사용량 조회(free 명령)

보이드메인 2020. 12. 16. 19:07

Linux 에서 메모리상태 조회 Free 명령어를 실행하면, 간혹 사용율 수치를 보면, 헷갈림과 동시에 착각을 불러일으킨다.


total used free shared buffers cached

Mem: 24675128 24541056 134072 0 274936 16256752

-/+ buffers/cache: 8009368 16665760

Swap: 65537156 0 65537156

You have new mail in /var/spool/mail/root


실제 여유 메모리는 134072 + 274936 +16256752 이다.

대략 16665760 값이 나온다.

 

아래 스크립트를 통해 쉽게 확인 할 수 있다.


#!/bin/sh

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/my_mem_log.log