시스템 모니터링을 위한 vmstat 명령어 사용법과 최적화 전략

시스템 모니터링을 위한 vmstat 명령어

안녕하세요! 저는 mj입니다. 오늘은 Linux 시스템에서 성능 모니터링을 위해 널리 사용되는 vmstat 명령어에 대해 알아보겠습니다. vmstat는 시스템의 가상 메모리, 프로세스, CPU, I/O 상태를 모니터링하는 유용한 도구 로, 시스템의 성능을 분석하고 문제를 진단하는 데 큰 도움이 됩니다.

1. vmstat란?

vmstat는 "Virtual Memory Statistics"의 약자로, 시스템의 메모리 사용 현황과 프로세스 상태를 보여주는 명령어입니다. 이 명령어는 CPU 사용률, 메모리, 페이지, 블록 I/O, 프로세스 상태 등을 포함한 다양한 정보를 제공합니다. vmstat는 주기적으로 시스템 성능을 모니터링하고, 성능 저하의 원인을 파악하는 데 유용합니다.

2. vmstat 설치 방법

대부분의 Linux 배포판에서 vmstatprocps 패키지에 포함되어 있습니다. 패키지를 설치 하는 방법은 다음과 같습니다:

  • Debian/Ubuntu: sudo apt-get install procps
  • Red Hat/CentOS: sudo yum install procps-ng
  • Fedora: sudo dnf install procps-ng

3. vmstat 사용법

vmstat의 기본 사용법은 다음과 같습니다:

vmstat [간격] [횟수]

예를 들어, 2초 간격으로 5번 통계를 보여주고 싶다면 다음과 같이 입력합니다:

vmstat 2 5

이 명령어는 CPU와 메모리, I/O 통계를 출력합니다.

4. vmstat 출력 항목 설명

vmstat의 출력 결과는 다음과 같은 주요 항목으로 구성됩니다:

  • procs: 시스템에서 실행 중인 프로세스 수를 나타냅니다. r은 실행 가능한 프로세스 수, b는 블록된 프로세스 수를 의미합니다.
  • memory: 메모리 사용 현황을 보여줍니다. swpd는 사용 중인 스왑 메모리, free는 사용 가능한 메모리, buff는 버퍼 캐시 메모리, cache는 페이지 캐시 메모리를 나타냅니다.
  • swap: 스왑 메모리 사용 현황을 보여줍니다. si는 스왑 인 속도, so는 스왑 아웃 속도를 나타냅니다.
  • io: 블록 I/O 통계를 보여줍니다. bi는 초당 블록 입력 수, bo는 초당 블록 출력 수를 의미합니다.
  • system: 시스템의 인터럽트와 컨텍스트 스위치 수를 나타냅니다. in은 초당 인터럽트 수, cs는 초당 컨텍스트 스위치 수를 의미합니다.
  • cpu: CPU 사용률을 보여줍니다. us는 사용자 모드에서의 CPU 사용률, sy는 시스템 모드에서의 CPU 사용률, id는 유휴 시간 비율을 의미합니다.

5. vmstat 활용 예시

아래는 vmstat 명령어를 사용한 여러 예시입니다:

5.1 예시 1: 기본 사용

vmstat 2 5

출력 결과:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache  si  so   bi   bo   in   cs us sy id wa
 0  0      0  102400  20480  51200   0   0    0    0    1   10  0  0 100  0
 1  0      0  102000  20480  51200   0   0    0    0    2   15  0  0 100  0
 0  0      0  101800  20480  51200   0   0    0    0    2   18  0  0 100  0
 0  0      0  101600  20480  51200   0   0    0    0    3   20  0  0 100  0
 0  0      0  101400  20480  51200   0   0    0    0    2   22  0  0 100  0

5.2 예시 2: 시스템 상태 모니터링

vmstat 1 10

출력 결과:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache  si  so   bi   bo   in   cs us sy id wa
 1  0      0  100000  15000  30000   0   0    0    0    1   10  0  0 100  0
 2  0      0   95000  15000  30000   0   0    0    0    2   15  0  0 100  0
 3  0      0   90000  15000  30000   0   0    0    0    3   18  0  0 100  0
 0  0      0   85000  15000  30000   0   0    0    0    2   20  0  0 100  0
 1  0      0   80000  15000  30000   0   0    0    0    3   22  0  0 100  0
 0  0      0   75000  15000  30000   0   0    0    0    2   25  0  0 100  0
 0  0      0   70000  15000  30000   0   0    0    0    3   30  0  0 100  0
 0  0      0   65000  15000  30000   0   0    0    0    2   30  0  0 100  0
 1  0      0   60000  15000  30000   0   0    0    0    4   35  0  0 100  0
 0  0      0   55000  15000  30000   0   0    0    0    3   30  0  0 100  0

5.3 예시 3: 메모리 사용량 모니터링

vmstat 5 5

출력 결과:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache  si  so   bi   bo   in   cs us sy id wa
 0  0      0  120000  18000  40000   0   0    0    0    1   10  0  0 100  0
 1  0      0  115000  20000  41000   0   0    0    0    2   15  0  0 100  0
 0  0      0  110000  21000  42000   0   0    0    0    3   18  0  0 100  0
 1  0      0  105000  22000  43000   0   0    0    0    2   20  0  0 100  0
 0  0      0  100000  23000  44000   0   0    0    0    3   22  0  0 100  0

5.4 예시 4: CPU 사용률 모니터링

vmstat 3 4

출력 결과:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache  si  so   bi   bo   in   cs us sy id wa
 2  0      0  98000  19000  50000   0   0    0    0    5   30  10  5 85  0
 1  0      0  97000  18000  49000   0   0    0    0    6   35  15  5 80  0
 0  0      0  96000  17000  48000   0   0    0    0    5   32  20  5 75  0
 1  0      0  95000  16000  47000   0   0    0    0    7   40  25  5 70  0

5.5 예시 5: 스왑 메모리 모니터링

vmstat 4 3

출력 결과:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache  si  so   bi   bo   in   cs us sy id wa
 0  0      0  90000  15000  30000   0   0    0    0    1   10  0  0 100  0
 1  0      0  85000  14000  31000   0   0    0    0    2   15  0  0 100  0
 0  0      0  80000  13000  32000   0   0    0    0    3   18  0  0 100  0

6. 결론

vmstat 명령어는 시스템 모니터링과 성능 분석

6. 결론

vmstat 명령어는 시스템 모니터링과 성능 분석에 필수적인 도구입니다. CPU와 메모리, I/O 사용 현황을 파악하여 시스템의 병목 현상을 해결하는 데 큰 도움이 됩니다. vmstat를 활용하여 시스템의 리소스 사용 현황을 모니터링하고, 최적화된 성능을 유지하는 데 기여해 보세요. 지속적으로 시스템을 모니터링하여 성능 문제를 사전에 예방하는 것이 중요합니다. 감사합니다!

댓글

이 블로그의 인기 게시물

리눅스에서 SSH 설정하고 사용하는 법

삼바 서버 구성하기: 리눅스와 윈도우 간의 파일 공유 완벽 가이드

011) Rocky Linux 9.5 설치 방법: 단계별 가이드와 설정 팁