Debian Linux 서버에서 일반적인 디스크 IO 모니터링을 수행하고 싶습니다. 디스크 성능이 한계에 도달했는지 또는 하루 중 특정 시간에 최고점에 도달했는지 확인하려면 디스크 IO 모니터링에 대해 어떤 도구를 알아야 합니까?
답변1
디스크 I/O 추세에는 몇 가지 옵션이 있습니다. 개인적으로 가장 좋아하는 명령은 sar
의 명령 입니다 sysstat
. 기본적으로 다음과 같은 출력이 제공됩니다.
09:25:01 AM CPU %user %nice %system %iowait %steal %idle
09:35:01 AM all 0.11 0.00 0.01 0.00 0.00 99.88
09:45:01 AM all 0.12 0.00 0.01 0.00 0.00 99.86
09:55:01 AM all 0.09 0.00 0.01 0.00 0.00 99.90
10:05:01 AM all 0.10 0.00 0.01 0.02 0.01 99.86
Average: all 0.19 0.00 0.02 0.00 0.01 99.78
%iowait
I/O를 기다리는 데 소요된 시간입니다 . Debian 패키지의 경우 /etc/default/sysstat
패키지를 설치한 후 구성 파일을 통해 통계 수집기를 활성화 해야 합니다 .
장치별로 분류된 현재 사용률을 보려면 iostat
sysstat 패키지에서도 다음 명령을 사용할 수 있습니다.
$ iostat -x 1
Linux 3.5.2-x86_64-linode26 (linode) 11/08/2012 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.84 0.00 0.08 1.22 0.07 97.80
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
xvda 0.09 1.02 2.58 0.49 112.79 12.11 40.74 0.15 48.56 3.88 1.19
xvdb 1.39 0.43 4.03 1.82 43.33 18.43 10.56 0.66 112.73 1.93 1.13
답변2
구경하다 iotop
:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init splash
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
6 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [mm_percpu_wq]
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
아니면 iodump
그것이 당신의 사고방식과 더 일치한다면요.
참고: 이를 위해서는 최소한커널 2.6.20일하다.
답변3
좋아요 dstat
. 디스크당, 심지어 md 장치(RAID)당 총계와 통계를 표시할 수 있으며 더 나은 개요를 위해 색상을 사용할 수도 있습니다.
$ dstat -tdD total,sda,sdb,sdc,md1 60
----system---- -dsk/total----dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/md1--
time | read writ: read writ: read writ: read writ: read writ
08-11 22:08:17|3549k 277k: 144k 28k: 851k 62k: 852k 60k: 25k 82k
08-11 22:09:17| 60k 258k:1775B 15k: 13k 63k: 15k 60k: 68B 74k
08-11 22:10:17| 176k 499k: 0 14k: 41k 122k: 41k 125k: 273B 157k
08-11 22:11:17| 42k 230k: 0 14k:9830B 54k: 14k 51k: 0 70k
08-11 22:11:52| 28k 132k: 0 5032B:5266B 33k:9479B 28k: 0 37k
-t
타임스탬프용-d
디스크 통계용-D
보고할 정확한 장치 지정60
평균 60초가 넘습니다. 디스플레이는 매초 업데이트되지만 새 줄은 60초마다 시작됩니다.이 예에서는 사용되지 않았지만
-c
대부분의 경우 디스크 데이터를 기다리는 CPU와 관련된 대기 IO 비율을 보고할 수 있습니다.
대부분의 Linux 배포판에서 작동하지만 저장소에서 설치해야 하는 경우도 있습니다.
답변4
또 다른 옵션은 다음을 사용하는 것입니다.sudo iotop -aoP
-a Will show accumulated output
-o Will only output
-P Will only show processes instead of threads
이 프로그램은 iotop이 시작된 이후 프로세스가 디스크에 쓰고 읽은 데이터의 양을 알려줍니다.