소개
Linux free 명령어 실습에 오신 것을 환영합니다. 이번 실습에서는 free 명령어를 사용하여 시스템 메모리 사용량을 모니터링하고 분석하는 방법을 배웁니다. 이 기술은 시스템 성능을 최적화하고 메모리 관련 문제를 해결해야 하는 시스템 관리자와 개발자에게 매우 중요합니다.
여러분이 바쁜 웹 서버의 메모리 사용량을 모니터링하는 업무를 맡은 신입 시스템 관리자라고 가정해 봅시다. free 명령어는 이 작업의 핵심 도구가 될 것이며, 현재 메모리 상태를 신속하게 평가하고 시스템 성능에 영향을 미치기 전에 잠재적인 문제를 식별할 수 있게 해줍니다.
free 명령어의 기본 사용법
가장 단순한 형태의 free 명령어를 사용하는 것부터 시작해 보겠습니다. 이를 통해 시스템 메모리 사용량의 전반적인 개요를 파악할 수 있습니다.
먼저, 아직 열지 않았다면 터미널을 엽니다. 그런 다음 아래 명령어를 실행하십시오.
free
다음과 유사한 출력을 볼 수 있습니다.
total used free shared buff/cache available
Mem: 8167004 2524956 3300280 658636 2341768 4657560
Swap: 2097152 0 2097152
이 출력은 시스템 메모리 사용량의 스냅샷을 제공합니다. 각 열이 의미하는 바를 살펴보겠습니다.
total: 물리적 RAM 과 스왑 공간의 전체 용량입니다.used: 현재 사용 중인 RAM 의 양입니다.free: 전혀 사용되지 않고 비어 있는 RAM 의 양입니다.shared: tmpfs 에서 사용하는 RAM 의 양입니다.buff/cache: 버퍼와 캐시로 사용되는 RAM 의 양입니다.available: 새로운 애플리케이션을 시작하는 데 사용할 수 있는 메모리의 추정치입니다.
출력은 두 개의 행으로 나뉩니다.
Mem: 물리적 RAM 에 대한 정보를 보여줍니다.Swap: 스왑 공간 (가상 메모리) 에 대한 정보를 보여줍니다.
모든 값은 기본적으로 바이트 단위로 표시됩니다.
읽기 쉬운 형식으로 메모리 정보 표시하기
free의 기본 출력은 정밀하지만, 한눈에 빠르게 읽기에는 어려울 수 있습니다. 정보를 더 읽기 쉬운 형식으로 표시하기 위해 -h 옵션을 사용해 보겠습니다.
다음 명령어를 실행하십시오.
free -h
이제 다음과 유사한 출력을 볼 수 있습니다.
total used free shared buff/cache available
Mem: 7.8Gi 2.4Gi 3.1Gi 642Mi 2.2Gi 4.4Gi
Swap: 2.0Gi 0B 2.0Gi
-h 옵션 ("human-readable"의 약자) 은 숫자를 자동으로 조정하고 적절한 단위 접미사 (기가바이트의 경우 G, 메가바이트의 경우 M 등) 를 추가합니다. 이를 통해 시스템의 메모리 사용 현황을 한눈에 훨씬 쉽게 파악할 수 있습니다.
값이 이제 Gi(기비바이트) 및 Mi(메비바이트) 와 같은 단위로 표시되는 것을 확인하십시오. 이는 컴퓨터가 메모리를 측정하는 표준 방식인 이진 단위로, 1 Gi = 1024 Mi 입니다.
메가바이트 단위로 메모리 정보 표시하기
때로는 메모리 정보를 특정 단위로 확인하고 싶을 때가 있습니다. 정보를 메가바이트 단위로 표시하기 위해 -m 옵션을 사용해 보겠습니다.
다음 명령어를 실행하십시오.
free -m
출력은 다음과 같을 것입니다.
total used free shared buff/cache available
Mem: 7975 2466 3222 642 2286 4548
Swap: 2047 0 2047
-m 옵션은 free가 모든 값을 메가바이트 단위로 표시하도록 강제합니다. 이는 -h 옵션이 제공하는 것보다 더 정밀한 수치가 필요하면서도 여전히 읽기 쉬운 숫자를 원할 때 유용합니다.
이 단위는 1 MB = 1,000,000 바이트인 메가바이트 (MB) 가 아니라, 1 MiB = 1,048,576 바이트인 메비바이트 (MiB) 라는 점에 유의하십시오. 실제 상황에서는 차이가 충분히 작아서 종종 혼용되기도 합니다.
free 명령어를 이용한 지속적인 모니터링
실제 환경에서는 시간에 따른 메모리 사용량 변화를 모니터링해야 하는 경우가 많습니다. free 명령어는 정기적인 간격으로 화면을 갱신하는 -s(초) 옵션을 통해 이를 지원합니다.
3 초마다 메모리 사용량을 모니터링하며 총 5 번 업데이트해 보겠습니다.
free -h -s 3 -c 5
이 명령어는 여러 옵션을 함께 사용합니다.
-h: 읽기 쉬운 형식으로 표시-s 3: 3 초마다 업데이트-c 5: 5 번 업데이트 후 중지
다음과 같이 3 초마다 업데이트되는 출력을 볼 수 있습니다.
total used free shared buff/cache available
Mem: 7.8Gi 2.4Gi 3.1Gi 642Mi 2.2Gi 4.4Gi
Swap: 2.0Gi 0B 2.0Gi
total used free shared buff/cache available
Mem: 7.8Gi 2.4Gi 3.1Gi 642Mi 2.2Gi 4.4Gi
Swap: 2.0Gi 0B 2.0Gi
...
이러한 지속적인 모니터링은 메모리 사용량이 시간에 따라 어떻게 변하는지 관찰하는 데 도움이 되며, 특히 메모리 누수를 식별하거나 특정 애플리케이션의 메모리 사용 패턴을 파악할 때 유용합니다.
5 번의 업데이트가 완료되기 전에 명령을 중단하려면 Ctrl+C 를 누르십시오.
전체 메모리 사용량 표시하기
기본적으로 free 명령어는 버퍼와 캐시를 분리하여 메모리 사용량을 보여줍니다. 하지만 때로는 버퍼와 캐시를 포함한 전체 메모리 사용량을 확인하고 싶을 수도 있습니다. 이 경우 -t 옵션을 사용할 수 있습니다.
다음 명령어를 실행하십시오.
free -h -t
출력은 다음과 같을 것입니다.
total used free shared buff/cache available
Mem: 7.8Gi 2.4Gi 3.1Gi 642Mi 2.2Gi 4.4Gi
Swap: 2.0Gi 0B 2.0Gi
Total: 9.8Gi 2.4Gi 5.1Gi
-t 옵션은 하단에 메모리와 스왑 사용량을 합산한 "Total" 행을 추가합니다. 이를 통해 물리적 RAM 과 스왑 공간을 모두 포함한 시스템의 전체 메모리 상태를 빠르게 파악할 수 있습니다.
이 출력에서:
- "Mem:" 행은 물리적 RAM 사용량을 보여줍니다.
- "Swap:" 행은 스왑 공간 사용량을 보여줍니다.
- "Total:" 행은 물리적 RAM 과 스왑 공간의 합계를 보여줍니다.
이 전체 보기 기능은 시스템의 전반적인 메모리 용량과 사용 현황을 한눈에 파악하고자 할 때 특히 유용합니다.
요약
축하합니다! 시스템 메모리 모니터링을 위한 free 명령어 실습을 완료하셨습니다. 학습한 내용을 정리해 보겠습니다.
- 메모리 정보를 표시하는
free명령어의 기본 사용법. - 읽기 쉬운 형식으로 메모리를 표시하는
-h옵션 사용법. - 메가바이트 단위로 메모리 정보를 표시하는
-m옵션 사용법. -s및-c옵션을 이용한 메모리 사용량의 지속적인 모니터링.-t옵션을 사용하여 스왑을 포함한 전체 메모리 사용량 표시하기.
이러한 기술은 시스템 리소스를 모니터링하고 관리하는 데, 특히 성능 최적화나 메모리 관련 문제 해결이 필요한 상황에서 매우 유용할 것입니다.
이번 실습에서 다루지 않은 몇 가지 추가적인 free 명령어 옵션은 다음과 같습니다.
-b: 메모리 양을 바이트 단위로 표시-k: 메모리 양을 킬로바이트 단위로 표시-g: 메모리 양을 기가바이트 단위로 표시-w: 와이드 출력 형식 사용-s: [SEC]초마다 출력 업데이트--si: 1024 대신 1000 의 거듭제곱 사용
효율적인 메모리 관리는 시스템 성능과 안정성을 유지하는 데 필수적입니다. free 명령어를 통한 정기적인 모니터링은 메모리 관련 문제가 시스템 성능에 영향을 미치기 전에 이를 감지하고 예방하는 데 도움이 됩니다.



