it-swarm-ko.tech

디스크 IO를 어떻게 모니터링 할 수 있습니까?

데비안 리눅스 서버에서 일반적인 디스크 io 모니터링을하고 싶습니다. 모니터 디스크 io에 대해 알아야 할 도구는 무엇이며 하루 종일 특정 시간에 디스크 성능이 최대치 또는 급상승하는지 확인할 수 있습니까?

280
camomileCase

디스크 I/O 트렌드에는 몇 가지 옵션이 있습니다. 내가 가장 좋아하는 것은 sarsysstat 명령입니다. 기본적으로 다음과 같은 출력을 제공합니다.

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 대기 시간입니다. 데비안 패키지를 사용하려면 /etc/default/sysstat 패키지 설치 후 구성 파일.

장치별로 현재 사용률을 확인하려면 sysstat 패키지에서도 iostat 명령을 사용할 수 있습니다.

$ 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

추세 그래프에서 디스크 사용량을 표시 할 수있는 다른 옵션은 munincacti 입니다.

240
jordanm

아이오 탑을 보라.

또는 iodump, 당신의 사고 방식에 더 가깝다면.

참고 : 작동하려면 커널 2.6.2 이상이 필요합니다.

111
tink

나는 dstat를 좋아합니다. 디스크 당 총계 및 통계를 표시 할 수 있으며 심지어 md-devices (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는 wait IO 백분율을보고 할 수 있으며, 대부분의 경우 디스크의 데이터를 기다리는 CPU와 관련이 있습니다.

대부분의 Linux 배포판에서 사용할 수 있지만 때로는 리포지토리에서 설치해야합니다.

99
jippie

컴퓨터의 파일들 (최근 커널을 가정)에서 /sys/block/sda/stat 또는 /proc/diskstats. 그러나 일부 번역이 필요합니다. 그러나 빠르고 더러운 검사가 좋습니다.

52
charlesbridge

또 다른 옵션은 Sudo iotop -aoP

-a    Will show accumulated output
-o    Will only output 
-P    Will only show processes instead of threads

이 프로그램은 iotop이 시작된 이후 프로세스가 디스크에 쓰고 디스크에서 읽은 양을 알려줍니다.

39
lanoxx

디스크 Io 모니터링은 다음과 같은 여러 도구로 수행 할 수 있습니다.

  1. 아이소 스타트
  2. 아이소 존
  3. SAR
  4. vmstat

또한 몇 가지 중요한 운영 체제 개념을 이해하는 데 매우 필요합니다. Linux IO 완전한 자습서

8
sarath

로드가 발생하는 빠른 개요를위한 또 다른 훌륭한 도구는 atop

모든 리소스 (CPU, 메모리/스왑, 네트워크 및 디스크 I/O)에 대한 개요를 보여 주거나 단일 리소스로 드릴 다운하여 사용량에 따라 프로세스를 정렬 할 수 있습니다.

7
Aaron Digulla

nmon 을 시도해보십시오. 프로세스와 디스크 및 네트워크를 수행합니다. 원래 AIX 용이지만 몇 년 동안 Linux로 이식되었습니다.

5
Steve Rowe

장기적으로 성능을보고 싶다면 Centreon 을 사용하는 것이 가장 좋습니다. Nagios 에 구축 된 강력한 도구입니다. Centreon을 사용하면 리소스 성능 및 기타 여러 가지 그래프를 그려 모니터링 할 수 있습니다.

1
omar