메모리 사용 현황 점검.
free와 vmstat 두 도구가 가장 흔히 쓰입니다.
free.
free -h — 사람 친화 단위(GB·MB).
출력: total·used·free·shared·buff/cache·available.
핵심 — available이 「사용 가능한」 진짜 값.
free는 「완전히 비어 있는」 — 캐시도 회수 가능하므로 free 적어도 available 크면 OK.
리눅스 메모리 철학.
「남는 메모리는 캐시로」.
실제로 사용 안 하는 메모리는 디스크 캐시로 활용 → 디스크 IO 빠르게.
「메모리가 꽉 찼다」 보여도 캐시면 진짜 부족 아님.
available 보고 판단.
vmstat.
vmstat 1 — 1초마다 통계.
컬럼 — procs(r 실행 가능, b 블록), memory(swpd swap·free·buff·cache), swap(si/so swap in/out), io(bi/bo block in/out), system(in 인터럽트, cs 컨텍스트 스위치), cpu(us·sy·id·wa·st).
주목할 신호.
1) si·so > 0 — swap 사용 중, 메모리 부족.
2) wa 큼 — IO 대기, 디스크 병목.
3) cs 폭증 — 컨텍스트 스위치 과다(스레드 너무 많음).
4) free 매우 낮고 available도 낮음 — 진짜 메모리 부족, OOM Killer 곧 동작 위험.
한 줄 요약
free -h로 메모리, available가 진짜 사용 가능 값(캐시 포함).
vmstat 1로 실시간 — si/so swap·wa IO 대기·cs 컨텍스트 스위치.
swap 발생·available 낮음이 위험 신호.
더 알아볼 것
- smem — 더 정확한 메모리 분석
- slabtop — 커널 메모리
- OOM killer 동작 원리