> 환경 및 유틸리티 > free

free 명령어 가이드: 시스템 메모리 사용량 확인

`free` 명령어는 Linux 시스템에서 사용 가능한 물리 메모리(RAM)와 스왑 메모리의 총량, 사용량, 그리고 여유 공간을 표시하는 데 사용됩니다. 시스템 성능 모니터링 및 문제 해결에 필수적인 도구입니다. 이 가이드를 통해 `free` 명령어의 다양한 옵션을 사용하여 메모리 정보를 쉽게 확인하는 방법을 익혀보세요.

free 개요

`free` 명령어는 운영체제가 현재 메모리를 어떻게 관리하고 있는지에 대한 스냅샷을 제공합니다. 이는 시스템이 메모리 부족으로 인해 성능 저하를 겪고 있는지, 아니면 충분한 여유 메모리를 가지고 있는지를 판단하는 데 도움을 줍니다.

메모리 유형 이해

`free` 명령어의 출력을 올바르게 해석하려면 물리 메모리(RAM)와 스왑 메모리, 그리고 버퍼/캐시의 개념을 이해하는 것이 중요합니다.

주요 메모리 항목

  • Mem (물리 메모리): 시스템에 설치된 RAM의 총량입니다. 운영체제와 실행 중인 프로그램들이 사용하는 실제 메모리 공간입니다.
  • Swap (스왑 메모리): 물리 메모리가 부족할 때 사용되는 하드 디스크의 공간입니다. RAM처럼 사용되지만 속도가 훨씬 느립니다.
  • total: 총 메모리 또는 스왑 공간입니다.
  • used: 현재 사용 중인 메모리 또는 스왑 공간입니다.
  • free: 사용 가능한 메모리 또는 스왑 공간입니다.
  • shared: 여러 프로세스가 공유하는 메모리입니다.
  • buff/cache: 커널 버퍼와 페이지 캐시로 사용되는 메모리입니다. 이는 실제 '낭비되는' 메모리가 아니며, 필요할 경우 언제든지 애플리케이션에 할당될 수 있는 '여유' 메모리에 가깝습니다.
  • available: 새로운 애플리케이션이 추가 요청 시 할당될 수 있는 메모리 양입니다. `free` 필드보다 더 정확한 '사용 가능한' 메모리 양을 나타냅니다. (Linux 커널 3.14 이상에서 제공)

주요 free 명령어 옵션

`free` 명령어는 다양한 옵션을 통해 출력 단위를 변경하거나, 특정 정보를 필터링하여 표시할 수 있습니다.

1. 출력 단위 옵션

2. 기타 유용한 옵션

생성된 명령어:

명령어를 조합해 보세요.

설명:

`free` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

`free` 명령어의 다양한 활용 예시들을 통해 시스템 메모리 사용 현황을 효과적으로 모니터링하고 분석해 보세요.

메모리 정보 읽기 쉬운 형식으로 출력

free -h

가장 흔하게 사용되는 옵션으로, 메모리 정보를 MB 또는 GB 단위로 자동으로 변환하여 보기 쉽게 출력합니다.

메모리 정보를 메가바이트 단위로 출력

free -m

명확하게 메가바이트(MB) 단위로 메모리 사용량을 확인하고 싶을 때 사용합니다.

5초 간격으로 3번 메모리 정보 업데이트

free -h -s 5 -c 3

시스템의 메모리 변화를 단시간 내에 관찰할 때 유용합니다. (예: 특정 프로그램을 실행하면서 메모리 사용량 변화 관찰)

버퍼와 캐시를 분리하여 출력 (MB 단위)

free -m -w

버퍼와 캐시 메모리를 독립적인 컬럼으로 보고 싶을 때 사용합니다. `-w` 옵션은 주로 디버깅이나 상세 분석 시 사용됩니다.

유닉스 타임스탬프와 함께 메모리 사용량 기록 (스크립트 예시)

echo "$(date +%s),$(free -m | grep Mem | awk '{print $2,$3,$4,$6,$7}')" >> mem_log.csv

쉘 스크립트에서 주기적으로 메모리 사용량을 기록하여 시계열 데이터를 만들 때 활용할 수 있습니다.


동일 카테고리 명령어