리눅스 free 명령어: 메모리 상태 확인

리눅스 free 명령어는 서버의 메모리 사용량과 여유 사용량을 확인할 수 있는 명령어로 /proc/meminfo의 메모리 정보를 가져와 보여줍니다.

  • free 명령어
  • /proc/meminfo의 메모리 정보를 확인
  • 메모리 확인 명령어 / 분류 프로세스(top, ps)
  • 기본 사용 옵션
free -옵션 

✅ 리눅스 free 명령어 옵션

1. free -h 설명

~]# free -h       
         |              |          |     |             |         |        | 
                  total      used         free        shared    buff/cache    available   
Mem:              989M       553M         220M          2.1M         190M        252M
Swap:             2.0G       118M         1.9G

# centos free m or h 옵션
~]# free -h   
                  total         used        free     shared    buffers     cached
Mem:              15789        14751        1037        473        123       1966
-/+ buffers/cache:             12662        3127
Swap:              4095         2025        2070
  • 서버에 할당된 메모리스왑(SWAP)메모리
  • total: 총 메모리
  • used: 사용중인 메모리 양
  • free: 남은 메모리
  • shared: 공유 메모리 용량(여러 프로세스에서 사용될 수 있음) tmpfs(메모리 파일 시스템), ramfs 등으로 사용됨
  • buff/cache: 가용한 메모리 용량
  • available(유효한): 실질적으로 사용 가능한 메모리(가용메모리) / swapping 없이 새로운 프로세스를 실행 시 할당 가능한 메모리의 예상 크기 > centos6의 -/+ buffers/cache가 사라지고 새로 생김.

2. 옵션 활용

  • -w 옵션으로 buffers와 cache를 분리해서 본 화면.
free -hw
               total        used        free      shared     buffers       cache   available
Mem:           1.7Gi       549Mi       1.0Gi        15Mi       3.0Mi       328Mi       1.2Gi
Swap:             0B          0B          0B
  • -t 옵션으로 램과 스왑 메모리의 합계 확인
free -ht
               total        used        free      shared  buff/cache   available
Mem:           1.7Gi       549Mi       1.0Gi        15Mi       331Mi       1.2Gi
Swap:             0B          0B          0B
Total:         1.7Gi       549Mi       1.0Gi
## -hwt 활용
free -hwt
               total        used        free      shared     buffers       cache   available
Mem:           1.7Gi       549Mi       1.0Gi        15Mi       3.0Mi       328Mi       1.2Gi
Swap:             0B          0B          0B
Total:         1.7Gi       549Mi       1.0Gi

✅ 스왑(SWAP)메모리란?

  • RAM에 용량이 부족할 경우 프로세스가 임시 저장되는 공간.
  • RAM을 사용한 것이라 하드디스크에 일정 공간을 SWAP메모리 공간으로 지정하여 사용을하며,
    악의 경우 메모리가 부족하여 시스템에 문제가 생기는 일을 방지 할 수 있음.
  • 단점으로는 하드디스크에 공간을 사용하기 때문에 메모리를 사용할때 보다 속도면에서는 많이 떨어짐.
  • 스왑 메모리 크기는 보통 RAM의 두배를 권장하고 있음.

✅ 명목 메모리 사용량 계산법

  • 명목 메모리 사용량(used) 및 사용률 (CentOS 7 이후 계산)
free -w
             total        used        free      shared     buffers       cache   available
Mem:         1802732      510176     1239384       13868        3124      210588     1292556
Swap:              0           0           0

# 실제 사용 가능한 명목 메모리 사용량(used)
total-(free + buffers + cached)
ex) 1802732-(1239384+210588+3124) = 349,636
# 사용률 계산
total-(free + buffers + cached)/total*100
1802732-(1239384+210588+3124) = 349,636/1802732*100=19.39%  / sar -r 1 명령어로 %를 쉽게 확인 

free(1239384)는 실제로 사용되지 않은 메모리 용량이며 100% 사용 가능한 메모리가 아닙니다.

명령줄 인터페이스(CLI-Command-Line Interface)

Similar Posts