free, vmstat로 메모리 상태 점검하기

✔ free – 메모리의 전체적인 사용 현황 보기
✔ vmstat – 시스템 리소스 흐름을 실시간으로 관찰하기

 

서버를 운영하다 보면
“메모리가 부족한 건가?”
“지금 시스템이 정상적으로 동작하고 있는 걸까?”
이런 고민이 드는 순간이 생깁니다.

이럴 때 유용하게 쓸 수 있는 명령어입니다.


메모리 점검의 기본 도구들

1. free: 간단하게 메모리 현황 보기

가장 기본적인 메모리 확인 명령어입니다.

free -h
  • -h : human-readable, MB/GB 단위로 보기 쉽게 표시

예시 결과:

              total        used        free      shared  buff/cache   available
Mem:            15G         7G        2.5G        300M        5.5G        7.2G
Swap:           2G          0B         2G

주의해서 봐야 할 항목:

  • used: 단순히 사용 중인 메모리
  • buff/cache: 디스크 캐시 용도로 사용 중인 메모리
  • available: 실제로 앱이 사용할 수 있는 메모리 (이걸 봐야 합니다)

used만 보고 “메모리가 부족하네” 오해하지 마세요!
Linux는 사용 가능한 메모리를 최대한 캐시로 활용하는 구조입니다.


2. vmstat: 시스템 리소스 흐름 모니터링

vmstat은 조금 더 다양한 정보를 보여주는 명령어입니다.

vmstat 1
  • 1초 간격으로 시스템 상태를 지속적으로 보여줍니다.
  • 중단하려면 Ctrl + C

예시 출력:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 123456  67890 123456    0    0     0     0   20   30  1  0 98  1  0

주요 항목 정리:

  • r: 실행 대기 중인 프로세스 수 (1 이상이면 CPU 병목 가능성)
  • free: 여유 메모리
  • buff, cache: 디스크 캐시 메모리
  • si, so: 스왑 in/out (값이 높으면 스왑 사용 중, 주의)
  • us, sy, id: CPU 사용률 (user/system/idle)

si, so 값이 0이 아닌 경우 → 메모리가 부족해서 스왑을 사용 중이라는 의미
r1 이상 계속 유지된다면 → CPU 과부하 상태일 수 있음

 


3. 두 명령어를 함께 사용하는 팁

  • 먼저 free -h로 전체 메모리 상태를 간단히 확인합니다.
  • 이상이 있거나 더 자세한 흐름이 궁금하다면 vmstat 1로 상황을 모니터링해봅니다.
  • top이나 htop 같은 실시간 모니터링 도구와 병행하면 더 풍부한 정보를 얻을 수 있어요.


메모리 상태, 어렵지 않아요

메모리 사용량은 시스템 성능에 직접적인 영향을 주는 중요한 요소입니다.
free와 vmstat 명령어만 잘 익혀두면,
복잡한 상황에서도 침착하게 진단하고 대응할 수 있습니다.

  • free -h로 전체 메모리 사용량 확인
  • vmstat 1로 실시간 흐름과 병목 탐색
  • 스왑 사용 여부, CPU 대기열 등을 함께 점검