Vmstat 및 Iostat 명령을 사용한 Linux 성능 모니터링
이것은 우리가 진행 중인 Linux 명령 및 Linux 성능 모니터링 시리즈입니다. 이 문서에서는 모든 주요 Unix에서 사용할 수 있는 Vmstat 및 Iostat 명령에 대해 알아봅니다. -like (Linux/Unix/FreeBSD/Solaris) 운영 체제.
vmstat 명령(가상 메모리 통계 도구라고도 함)은 Linux의 프로세스, 메모리, 디스크 및 CPU 활동에 대한 정보를 표시하는 반면, iostat 명령은 CPU 사용률을 모니터링하는 데 사용됩니다. , 모든 디스크 및 파티션에 대한 시스템 입/출력 통계.
Linux 시스템에서 vmstat 및 iostat 명령을 사용할 수 없는 경우 sysstat 패키지를 설치하세요. vmstat, sar, 및 iostat 명령은 시스템 모니터링 도구인 sysstat에 포함된 패키지 모음입니다.
sysstat 링크에서 소스 tarball을 사용하여 sysstat을 다운로드하고 설치할 수 있지만 패키지 관리자를 통해 설치하는 것이 좋습니다.
Linux에 Sysstat 설치
sudo apt install sysstat [On Debian, Ubuntu and Mint]
sudo yum install sysstat [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a app-admin/sysstat [On Gentoo Linux]
sudo pacman -S sysstat [On Arch Linux]
sudo zypper install sysstat [On OpenSUSE]
Linux에서 Vmstat 명령 예 알아보기
이 섹션에서는 6가지 vmstat 명령 예제와 사용법을 스크린샷과 함께 알아봅니다.
1. 활성 및 비활성 메모리 나열
아래 예에는 6개의 열이 있습니다. 열의 의미는 vmstat 매뉴얼 페이지에 자세히 설명되어 있습니다. 가장 중요한 필드는 메모리 아래 free이고 스왑 열 아래 si, so입니다.
[root@tecmint ~]# vmstat -a
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
- 여유 – 여유/유휴 메모리 공간의 양입니다.
- si – 디스크에서 킬로바이트 단위로 매초 교체됩니다.
- so – 매초 킬로바이트 단위로 디스크로 교체됩니다.
참고: 매개변수 없이 vmstat을 실행하면 시스템 부팅 이후 요약 보고서가 표시됩니다.
2. vmstat 'X' 초 및 ('회수)를 실행합니다.
이 명령을 사용하면 vmstat은 2초마다 실행되고 6번의 간격을 실행한 후 자동으로 중지됩니다.
[root@tecmint ~]# vmstat 2 6
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 810420 22064 101368 0 0 56 3 50 57 0 3 95 2 0
0 0 0 810412 22064 101368 0 0 0 0 16 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 14 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 17 38 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 17 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 18 36 0 1 100 0 0
3. 타임스탬프가 있는 Vmstat
-t
매개변수가 포함된 vmstat 명령은 아래와 같이 인쇄된 모든 줄에 타임스탬프를 표시합니다.
[tecmint@tecmint ~]$ vmstat -t 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 632028 24992 192244 0 0 70 5 55 78 1 3 95 1 0 2012-09-02 14:57:18 IST
1 0 0 632028 24992 192244 0 0 0 0 171 514 1 5 94 0 0 2012-09-02 14:57:19 IST
1 0 0 631904 24992 192244 0 0 0 0 195 600 0 5 95 0 0 2012-09-02 14:57:20 IST
0 0 0 631780 24992 192244 0 0 0 0 156 524 0 5 95 0 0 2012-09-02 14:57:21 IST
1 0 0 631656 24992 192244 0 0 0 0 189 592 0 5 95 0 0 2012-09-02 14:57:22 IST
4. 각종 카운터의 통계
vmstat 명령과 -s
스위치는 다양한 이벤트 카운터 및 메모리 통계 요약을 표시합니다.
[tecmint@tecmint ~]$ vmstat -s
1030800 total memory
524656 used memory
277784 active memory
185920 inactive memory
506144 free memory
26864 buffer memory
310104 swap cache
2064376 total swap
0 used swap
2064376 free swap
4539 non-nice user cpu ticks
0 nice user cpu ticks
11569 system cpu ticks
329608 idle cpu ticks
5012 IO-wait cpu ticks
79 IRQ cpu ticks
74 softirq cpu ticks
0 stolen cpu ticks
336038 pages paged in
67945 pages paged out
0 pages swapped in
0 pages swapped out
258526 interrupts
392439 CPU context switches
1346574857 boot time
2309 forks
5. Linux 디스크 통계 모니터링
-d
옵션이 포함된 vmstat은 Linux의 모든 디스크 통계를 표시합니다.
[tecmint@tecmint ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
ram0 0 0 0 0 0 0 0 0 0 0
ram1 0 0 0 0 0 0 0 0 0 0
ram2 0 0 0 0 0 0 0 0 0 0
ram3 0 0 0 0 0 0 0 0 0 0
ram4 0 0 0 0 0 0 0 0 0 0
ram5 0 0 0 0 0 0 0 0 0 0
ram6 0 0 0 0 0 0 0 0 0 0
ram7 0 0 0 0 0 0 0 0 0 0
ram8 0 0 0 0 0 0 0 0 0 0
ram9 0 0 0 0 0 0 0 0 0 0
ram10 0 0 0 0 0 0 0 0 0 0
ram11 0 0 0 0 0 0 0 0 0 0
ram12 0 0 0 0 0 0 0 0 0 0
ram13 0 0 0 0 0 0 0 0 0 0
ram14 0 0 0 0 0 0 0 0 0 0
ram15 0 0 0 0 0 0 0 0 0 0
loop0 0 0 0 0 0 0 0 0 0 0
loop1 0 0 0 0 0 0 0 0 0 0
loop2 0 0 0 0 0 0 0 0 0 0
loop3 0 0 0 0 0 0 0 0 0 0
loop4 0 0 0 0 0 0 0 0 0 0
loop5 0 0 0 0 0 0 0 0 0 0
loop6 0 0 0 0 0 0 0 0 0 0
loop7 0 0 0 0 0 0 0 0 0 0
sr0 0 0 0 0 0 0 0 0 0 0
sda 7712 5145 668732 409619 3282 28884 257402 644566 0 126
dm-0 11578 0 659242 1113017 32163 0 257384 8460026 0 126
dm-1 324 0 2592 3845 0 0 0 0 0 2
6. 메가바이트 단위로 통계 표시
vmstat은 기본적으로 메모리 통계를 킬로바이트 단위로 표시하지만 -S M
인수를 사용하여 메모리 크기가 메가바이트 단위로 포함된 보고서를 표시할 수도 있습니다. 다음 예를 고려하십시오.
[root@tecmint ~]# vmstat -S M 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 346 53 476 0 0 95 8 42 55 0 2 96 2 0
0 0 0 346 53 476 0 0 0 0 12 15 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 32 62 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 15 13 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 34 61 0 1 99 0 0
Linux에서 Iostat 명령 예제 알아보기
이 섹션에서는 6가지 iostat 명령 예제와 사용법을 스크린샷과 함께 알아봅니다.
7. 디스크의 CPU 및 I/O 통계 표시
인수가 없는 iostat는 아래와 같이 모든 파티션의 CPU 및 I/O 통계를 표시합니다.
[root@tecmint ~]# iostat
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.12 0.01 1.54 2.08 0.00 96.24
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.59 161.02 13.48 1086002 90882
dm-0 5.76 159.71 13.47 1077154 90864
dm-1 0.05 0.38 0.00 2576 0
8. Linux CPU 통계를 표시합니다.
-c
인수가 포함된 iostat는 아래와 같이 CPU 통계만 표시합니다.
[root@tecmint ~]# iostat -c
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.12 0.01 1.47 1.98 0.00 96.42
9. Linux 디스크 I/O 통계 표시
-d
인수가 포함된 iostat는 표시된 대로 모든 파티션의 디스크 I/O 통계만 표시합니다.
[root@tecmint ~]# iostat -d
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.35 149.81 12.66 1086002 91746
dm-0 5.37 148.59 12.65 1077154 91728
dm-1 0.04 0.36 0.00 2576 0
10. 특정 장치의 I/O 통계를 표시합니다.
기본적으로 -p
를 사용하여 모든 파티션의 통계를 표시하고 장치 이름 인수는 표시된 대로 특정 장치에 대한 디스크 I/O 통계만 표시합니다.
[root@tecmint ~]# iostat -p sda
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.01 1.44 1.92 0.00 96.52
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.32 148.52 12.55 1086002 91770
sda1 0.07 0.56 0.00 4120 18
sda2 3.22 147.79 12.55 1080650 91752
11. LVM 통계 표시
-N
(대문자) 매개변수를 사용하면 표시된 대로 LVM 통계만 표시됩니다.
[root@tecmint ~]# iostat -N
Linux 2.6.32-279.el6.i686 (linux-console.net) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.01 1.39 1.85 0.00 96.64
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.20 142.84 12.16 1086002 92466
vg_tecmint-lv_root 5.13 141.68 12.16 1077154 92448
vg_tecmint-lv_swap 0.04 0.34 0.00 2576 0
12. Iostat 버전 확인
-V
(대문자) 매개변수를 사용하면 다음과 같이 iostat의 표시 버전이 표시됩니다.
[root@tecmint ~]# iostat -V
sysstat version 11.7.3
(C) Sebastien Godard (sysstat orange.fr)
vmstat 및 iostat에는 자세히 설명할 수 없는 여러 열과 플래그가 포함되어 있습니다. 이에 대해 더 알고 싶으면 vmstat 및 iostat의 매뉴얼 페이지를 참조하세요.
man vmstat
man iostat
이 기사가 유용하다고 생각되면 아래 댓글 상자를 통해 공유해 주세요.