리눅스 명령어 / free

free 명령어

리눅스 명령어 free는 시스템의 RAM(메모리) 및 Swap 영역의 사용 현황을 한눈에 보여주는 명령어입니다. 운영 중인 서버에서 메모리 부족이나 캐시 과다 사용을 진단할 때 꼭 필요한 도구입니다.

사용법

free를 실행하면 다음과 같이 메모리 정보를 보여줍니다.

# free
              total        used        free      shared  buff/cache   available
Mem:       32538756    12379656     3330704     4519812    16828396    15168656
Swap:      16777212     3333632    13443580
  • total: 전체 메모리 크기
  • used: 사용 중인 메모리 (버퍼/캐시 포함)
  • free: 완전히 비어 있는 메모리
  • shared: 여러 프로세스가 공유하는 메모리
  • buff/cache: 커널이 버퍼/캐시로 사용하는 메모리
  • available: 실제로 새 프로그램을 실행할 수 있는 여유 메모리

used가 많아 보여도 꼭 메모리 부족은 아닙니다. 리눅스는 남는 메모리를 캐시로 적극 활용하기 때문입니다. 실제 여유분은 available 값을 확인하는 게 정확합니다.

  • -m 옵션을 붙이면 MB 단위로 표시합니다.
# free -m
              total        used        free      shared  buff/cache   available
Mem:          31776       12042        3262        4413       16471       14859
Swap:         16383        3255       13128
  • -g 옵션을 붙이면 GB 단위로 표시합니다.
# free -g
              total        used        free      shared  buff/cache   available
Mem:             31          11           3           4          16          14
Swap:            15           3          12
  • -h 옵션을 붙이면 사람이 읽기 쉽게 단위 자동 변환(KB → MB → GB)합니다.
# free -h
              total        used        free      shared  buff/cache   available
Mem:           31Gi        11Gi       3.2Gi       4.3Gi        16Gi        14Gi
Swap:          15Gi       3.2Gi        12Gi
  • -s 옵션을 붙이면 지정한 초 단위로 자동 갱신합니다. 예를 들어 아래는 5초마다 값을 갱신합니다.
# free -s 5
              total        used        free      shared  buff/cache   available
Mem:       32538756    12340516     3283044     4519792    16915196    15207808
Swap:      16777212     3333632    13443580

              total        used        free      shared  buff/cache   available
Mem:       32538756    12339372     3283800     4519792    16915584    15208944
Swap:      16777212     3333632    13443580