free (Display memory usage)
free는 시스템의 물리적 메모리(RAM)와 스왑(Swap) 메모리의 전체 용량, 사용량, 빈 공간 등을 확인하는 명령어입니다. 시스템 리소스가 부족하여 프로세스가 강제 종료되는 현상을 방지하기 위해 정기적으로 체크해야 하는 필수 도구입니다.
[Image of Linux free -h command output showing Mem and Swap rows]
1. 기본 사용법
free [옵션]
2. 주요 옵션
| 옵션 | 이름 | 설명 |
|---|---|---|
-h |
human-readable | 용량을 B, K, M, G 단위로 보기 쉽게 표시합니다. (필수 옵션) |
-m |
mebi-bytes | 용량을 MB(Megabytes) 단위로 고정하여 보여줍니다. |
-g |
gibi-bytes | 용량을 GB(Gigabytes) 단위로 고정하여 보여줍니다. |
-s [초] |
seconds | 지정한 초 간격으로 메모리 상태를 반복해서 출력합니다. |
-t |
total | 마지막 줄에 물리 메모리와 스왑 메모리의 합계(Total)를 출력합니다. |
3. 실무 활용 예시
① 현재 메모리 상태 확인 (가장 많이 사용)
free -h
② 3초마다 메모리 변화 감지하기
특정 프로그램 실행 시 메모리 점유율 변화를 관찰할 때 유용합니다.
free -h -s 3
4. [중요] 결과 해석 가이드 (Mem 행)
- total: 설치된 총 메모리 양.
- used: 현재 프로세스들이 사용 중인 메모리.
- free: 완전히 비어 있는 메모리.
- buff/cache: 리눅스 커널이 성능 향상을 위해 임시로 사용 중인 공간 (데이터 캐싱 등).
- available: (가장 중요) 시스템이 새로운 프로그램을 위해 실제로 즉시 할당해 줄 수 있는 메모리 양.
5. [팁] free가 0에 가깝다면?
리눅스는 노는 메모리를 가만히 두지 않고 buff/cache로 활용합니다. 따라서 free 항목이 적더라도 available 항목이 충분하다면 시스템은 건강한 상태입니다. 하지만 available까지 바닥났다면 메모리 증설이나 불필요한 프로세스 정리가 필요합니다.