6. 메모리 모니터링

효과적인 시스템 관리는 리소스 사용량을 면밀히 주시하는 것을 필요로 하며, 메모리 모니터링은 이 과정의 중요한 부분입니다. 시스템 메모리가 부족해지면 성능이 크게 저하될 수 있습니다. Linux 는 메모리 소비를 추적하는 데 도움이 되는 여러 도구를 제공하며, 그중 가장 다재다능한 도구 중 하나가 vmstat입니다.

vmstat 소개

vmstat (가상 메모리 통계) 명령어는 프로세스, 메모리, 페이징, 블록 I/O, 트랩 및 CPU 활동에 대한 정보를 보고하는 강력한 메모리 사용량 모니터입니다. 인자 없이 실행하면 마지막 부팅 이후 시스템의 현재 상태 스냅샷을 제공합니다.

pete@icebox:~$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 396528  38816 384036    0    0     4     2   38   79  0  0 99  0  0

출력은 여러 열로 구성되어 있습니다. 각 필드가 무엇을 의미하는지 분석해 보겠습니다.

Procs (프로세스)

  • r: 실행 시간을 기다리는 실행 가능한 프로세스의 수입니다.
  • b: 비인터럽트 가능한 절전 상태에 있는 프로세스의 수로, 일반적으로 I/O 를 기다립니다.

Memory (메모리)

  • swpd: 사용된 가상 메모리 양 (킬로바이트 단위).
  • free: 유휴 메모리 양 (킬로바이트 단위).
  • buff: 버퍼로 사용되는 메모리 양.
  • cache: 페이지 캐시로 사용되는 메모리 양.

Swap (스왑)

  • si: 초당 디스크에서 스왑 인된 메모리 양 (킬로바이트 단위). 높은 값은 시스템의 물리적 메모리가 부족함을 나타냅니다.
  • so: 초당 디스크로 스왑 아웃된 메모리 양 (킬로바이트 단위). 이상적으로는 0 이어야 합니다.

IO (입출력)

  • bi: 블록 장치로부터 수신된 블록 수 (블록/초).
  • bo: 블록 장치로 전송된 블록 수 (블록/초).

System (시스템)

  • in: 초당 인터럽트 횟수 (클럭 포함).
  • cs: 초당 컨텍스트 스위치 횟수.

CPU (중앙 처리 장치)

이 값들은 총 CPU 시간의 백분율입니다.

  • us: 커널 코드가 아닌 코드를 실행하는 데 사용된 시간 (사용자 시간).
  • sy: 커널 코드를 실행하는 데 사용된 시간 (시스템 시간).
  • id: 유휴 상태인 시간.
  • wa: I/O 대기 시간.
  • st: 가상 머신에서 빼앗긴 시간 (가상화된 환경의 경우).

로그인하여 학습 진행 상황을 저장하세요

로그인

연습 문제

연습이 완벽을 만듭니다! 시스템 및 메모리 모니터링에 대한 이해를 강화하기 위한 실습 랩이 여기에 있습니다:

  1. Linux free 명령어: 시스템 메모리 모니터링 - 다양한 표시 형식과 총 메모리 소비를 이해하며 시스템 메모리 사용량을 모니터링하고 분석하는 방법을 배웁니다.
  2. Linux top 명령어: 실시간 시스템 모니터링 - 정렬 및 필터링을 위한 다양한 옵션을 사용하여 프로세스, CPU 및 메모리 사용량을 포함하여 시스템 성능을 실시간으로 모니터링하는 방법을 배웁니다.

이 랩들은 실제 시나리오에서 시스템 리소스 모니터링 개념을 적용하고 Linux 시스템 성능 분석에 대한 자신감을 키우는 데 도움이 될 것입니다.

퀴즈

메모리 사용량을 확인하는 데 사용되는 도구는 무엇입니까? (대소문자를 구분하여 영어로 답하십시오)