시스템 모니터링을 위한 vmstat 명령어 사용법과 최적화 전략
시스템 모니터링을 위한 vmstat 명령어
안녕하세요! 저는 mj입니다. 오늘은 Linux 시스템에서 성능 모니터링을 위해 널리 사용되는 vmstat 명령어에 대해 알아보겠습니다. vmstat는 시스템의 가상 메모리, 프로세스, CPU, I/O 상태를 모니터링하는 유용한 도구 로, 시스템의 성능을 분석하고 문제를 진단하는 데 큰 도움이 됩니다.
1. vmstat란?
vmstat는 "Virtual Memory Statistics"의 약자로, 시스템의 메모리 사용 현황과 프로세스 상태를 보여주는 명령어입니다. 이 명령어는 CPU 사용률, 메모리, 페이지, 블록 I/O, 프로세스 상태 등을 포함한 다양한 정보를 제공합니다. vmstat는 주기적으로 시스템 성능을 모니터링하고, 성능 저하의 원인을 파악하는 데 유용합니다.
2. vmstat 설치 방법
대부분의 Linux 배포판에서 vmstat는 procps 패키지에 포함되어 있습니다. 패키지를 설치 하는 방법은 다음과 같습니다:
- 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를 활용하여 시스템의 리소스 사용 현황을 모니터링하고, 최적화된 성능을 유지하는 데 기여해 보세요. 지속적으로 시스템을 모니터링하여 성능 문제를 사전에 예방하는 것이 중요합니다. 감사합니다!
댓글
댓글 쓰기