Computer >> 컴퓨터 >  >> 소프트웨어 >> 소프트웨어

리눅스 메모리 모니터링 완벽 가이드: RAM 사용량을 추적하는 6가지 필수 명령어

리눅스는 시스템을 관리하고 최적화할 수 있는 다양한 내장 도구를 제공합니다. 리눅스를 처음 접하거나 윈도우에서 최근에 갈아탄 사용자라면, 리눅스를 제대로 활용하기 위해 몇 가지 기본 명령어를 익혀야 합니다. 리눅스는 사용자나 관리자가 시스템에 대한 완전한 통제권을 가질 수 있는 운영체제로 유명합니다. 우분투, 민트, 데비안 등 어떤 배포판을 사용하든, 올바른 명령어와 도구만 있다면 무엇이든 할 수 있습니다.

이 글에서는 리눅스에서 메모리 사용량을 확인하는 방법에 초점을 맞춥니다. 메모리 관리는 반드시 익혀야 할 중요한 기술입니다. 때때로 애플리케이션이 시스템 메모리를 독차지하는 경우가 발생하는데, 이럴 때 문제를 찾아 해결하려면 적절한 진단 절차를 알고 있어야 합니다. 지금부터 리눅스 시스템의 메모리 사용량을 확인할 수 있는 최고의 명령줄 도구들을 소개합니다.

1. top 명령어

top 명령줄 도구는 실행 중인 모든 프로세스에 대한 요약 정보를 보여줍니다. 이 요약에는 실시간 메모리 사용량 정보가 포함되어 있어, 모니터링 도구로도 활용할 수 있습니다. 전체 시스템 메모리 중 얼마나 사용되고 있는지 확인한 후, 프로세스 목록을 살펴보며 각 프로세스가 어느 정도의 메모리를 사용하는지 파악할 수 있습니다.

이 도구를 실행하려면 터미널에 다음 명령어를 입력하기만 하면 됩니다:

$ top

리눅스 메모리 모니터링 완벽 가이드: RAM 사용량을 추적하는 6가지 필수 명령어

top 명령어는 리눅스 시스템의 총 메모리와 여유 메모리, 그리고 사용 중인 물리 메모리와 스왑 메모리를 보여줍니다. 이 경우 가장 중요한 열은 %MEM으로, 각 프로세스가 물리 메모리를 얼마나 사용했는지 알려줍니다. 이를 통해 과도하게 메모리를 잡아먹는 문제의 앱을 식별하고 종료할 수 있습니다.

또한 top 명령줄 도구로 CPU 사용량도 확인할 수 있습니다. %CPU 열을 확인하면 각 앱이 사용하는 처리 능력을 알 수 있습니다.

2. free 명령어

시스템의 메모리 사용량 중 여유 메모리와 사용 중인 메모리 양만 알면 된다면, 굳이 top 명령어를 사용할 필요가 없습니다. free 명령어면 충분합니다. 터미널에 free를 입력하면 물리 메모리와 스왑 메모리가 얼마나 남았거나 사용 중인지 즉시 확인할 수 있습니다. 동시에 커널이 사용하는 버퍼에 대한 정보도 함께 제공됩니다.

리눅스 메모리 모니터링 완벽 가이드: RAM 사용량을 추적하는 6가지 필수 명령어

다만 free 명령어의 메모리 사용량 정보는 실시간으로 표시되지 않는다는 점에 유의하세요. 명령어를 입력한 순간의 메모리 상태를 보여주는 일종의 '스냅샷'입니다. 메모리 사용량을 지속적으로 모니터링하거나 각 프로세스별 메모리 사용량을 확인하려면 top 명령어를 사용하는 것이 좋습니다.

3. htop 명령어

htop 명령어는 top 명령어를 더 읽기 쉬운 환경과 사용자 친화적인 조작 방식으로 개선한 도구입니다. 실시간 RAM 사용량을 출력하고, 실행 중인 모든 프로세스 목록을 보여주며, 프로세스를 제어하는 명령어 단축키도 제공합니다. 과도하게 RAM을 소모하는 프로세스를 발견하면, Bash 명령어를 입력하는 대신 단축키만 눌러서 바로 종료할 수 있습니다.

리눅스 메모리 모니터링 완벽 가이드: RAM 사용량을 추적하는 6가지 필수 명령어

htop 명령어를 사용하려면 터미널에 htop을 입력하면 됩니다. 다만 사용 중인 리눅스 배포판에 이 도구가 기본적으로 포함되어 있지 않으면 오류가 발생할 수 있습니다. 이 경우 다음 명령어로 설치하세요:

$ sudo apt-get install htop

4. vmstat 명령어

vmstat 명령어는 가상 메모리 통계 보고서를 표시합니다. 필요 이상으로 많은 정보를 제공하지만, 리눅스 시스템 관리자를 목표로 한다면 반드시 알아두어야 할 명령어입니다. 보고서에는 다음과 같은 정보가 포함됩니다:

  • 실행 대기 중인 프로세스(procs) 수
  • 스왑 메모리, 여유 메모리, 캐시, 버퍼의 양
  • 블록 디바이스에서 주고받은 블록 수(IO)
  • CPU 시간(사용자 시간, 시스템 시간, 유휴 시간)

터미널에 vmstat를 입력하면 가상 메모리 통계 보고서를 받을 수 있습니다.

리눅스 메모리 모니터링 완벽 가이드: RAM 사용량을 추적하는 6가지 필수 명령어

5. /proc/meminfo 파일 확인하기

리눅스 시스템이 이러한 RAM 사용량 보고서와 정보를 어디서 가져오는지 궁금하지 않으신가요? 사실 지금까지 살펴본 거의 모든 명령줄 도구는 동일한 출처, 즉 /proc/meminfo 가상 파일을 참조합니다. 원본 데이터에 직접 접근해 원하는 모든 메모리 사용량 정보를 얻고 싶다면, 다음 명령어로 파일에 쉽게 접근할 수 있습니다:

less /proc/meminfo

리눅스 메모리 모니터링 완벽 가이드: RAM 사용량을 추적하는 6가지 필수 명령어

보고서가 상당히 길기 때문에, less 명령어를 사용하면 탐색 기능을 활용해 필요한 데이터를 빠르게 찾을 수 있습니다. 다만 이 상세 보고서에는 불필요한 정보도 많이 포함되어 있습니다. 따라서 다음 핵심 항목에 집중하는 것이 좋습니다:

  • MemTotal(총 메모리)
  • MemFree(여유 메모리)
  • MemAvailable(사용 가능 메모리)
  • Buffers(버퍼)
  • Cached(캐시)
  • SwapCached(스왑 캐시)
  • SwapTotal(총 스왑)
  • SwapFree(여유 스왑)

6. GUI 활용하기

리눅스 순수주의자들은 명령줄 도구 대신 GUI를 사용하는 것을 선호하지 않을 수 있지만, RAM 사용량을 시각적으로 확인할 수 있다는 점은 큰 장점입니다. 리눅스 시스템 모니터(System Monitor) 앱을 사용하면 필요한 모든 정보를 얻고 시스템 메모리 사용량을 실시간으로 모니터링할 수 있습니다.

앱을 사용하려면 시작 메뉴 검색창에 "System Monitor"를 입력하고 Enter 키를 누르세요. 시스템 모니터에는 우리가 관심을 가져야 할 두 개의 탭이 있습니다: 프로세스(Processes) 탭과 리소스(Resources) 탭입니다.

리눅스 메모리 모니터링 완벽 가이드: RAM 사용량을 추적하는 6가지 필수 명령어

프로세스 탭에서는 현재 리눅스 운영체제에서 실행 중인 모든 프로세스를 확인할 수 있습니다. 각 프로세스별로 메모리 사용량, CPU 사용량 등의 데이터를 볼 수 있습니다. 특정 앱이 비정상적으로 많은 RAM을 사용하고 있는지 파악하는 데 유용하며, 같은 창에서 해당 프로세스를 마우스 오른쪽 버튼으로 클릭해 종료 옵션을 선택하여 강제 종료할 수도 있습니다.

반면, 시스템 메모리와 CPU가 어떻게 작동했는지만 확인하고 싶다면 리소스 탭의 그래픽 시각화 자료를 확인하는 것이 좋습니다.

리눅스 메모리 모니터링 완벽 가이드: RAM 사용량을 추적하는 6가지 필수 명령어

여기서는 CPU, RAM, 네트워크 사용 기록을 그래프로 확인할 수 있습니다. 즉, 일정 기간 동안의 시스템 메모리 사용량에 대한 과거 데이터를 얻을 수 있으며, 실시간 모니터링도 가능합니다.

여러분은 리눅스 운영체제에서 메모리 사용량을 확인할 때 어떤 방법을 선호하시나요? 분석에 더 유용한 데이터를 제공하는 다른 명령어나 도구를 알고 계신가요? 아래 댓글로 의견을 공유해 주세요!