리눅스 기초 다지기 - 30. free

 

free

: 메모리 및 스왑 메모리 사용량 확인

 

-b, -k, -m, -g

: 바이트, 킬로바이트, 메가바이트, 기가바이트 단위로 출력

 

-h

: 단위에 맞게 출력

 

필드

 

[total]

: 총 메모리 크기

 

[used]

: 사용량

 

[free]

: 사용하지 않은 메모리

 

[shared]

: 공유 메모리

 

[buff/cache] (버퍼 + 캐시)

: 캐시 영역으로 사용하는 메모리 사용량

 

[available]

: 스왑 없이 할당 가능한 메모리 크기

[root@control ~]# free -h
               total        used        free      shared  buff/cache   available
Mem:           3.7Gi       392Mi       3.3Gi       8.0Mi       169Mi       3.3Gi
Swap:          2.0Gi          0B       2.0Gi

 

명목 메모리, 실질 메모리

: 리눅스는 유휴 공간(남는 공간)을 캐시 영역으로 잡아둔다.

따라서, 실제 메모리 사용률을 계산할려면 캐시 영역 또한 유휴 메모리로 봐야 한다.

 

명목 메모리 사용률

: ( used + buffers + cached ) / total

 

실질 메모리 사용률

: used / total

 

명목 메모리 사용량 계산

free | awk '/Mem/{print ($3+$6)*100/$2}'
106.744

# 2자리 소수점까지만
free | awk '/Mem/{printf("%.2f"), ($3+$6)*100/$2}'
106.75

 

명목 메모리 유휴 공간 계산

free | awk '/Mem/{print $4*100/$2}'
3.67234

# 2자리 소수점까지만
free | awk '/Mem/{printf("%.2f"), $4*100/$2}'
3.67

 

실질 메모리 사용량 계산

free | awk '/Mem/{print $3*100/$2}'
51.0393

# 2자리 소수점까지만
free | awk '/Mem/{printf("%.2f"), $3*100/$2}'
51.04

 

실질 메모리 유휴 공간 계산

free | awk '/Mem/{print ($4+$6)*100/$2}'
59.1636

# 2자리 소수점까지만
free | awk '/Mem/{printf("%.2f"), ($4+$6)*100/$2}'
59.16