как я могу контролировать диск io?

<p>я хотел бы сделать общий мониторинг диска на сервере linux debian. какие инструменты я должен знать об этом мониторе диска, чтобы я мог видеть, максимальная производительность диска или скачки в определенное время в течение дня?</p>

<p>для трендов дискового ввода/вывода есть несколько вариантов. мой личный фаворит - команда <code>sar</code> из <code>sysstat</code>. по умолчанию это дает вывод, как это:</p><pre><code>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 </code></pre><p><code>%iowait</code> - это время ожидания ввода/вывода. используя пакет debian, вы должны включить сборщик статистики через <code>/etc/default/sysstat</code> файл конфигурации после установки пакета.</p><p>чтобы увидеть текущее использование с разбивкой по устройствам, вы можете использовать команду <code>iostat</code>, также из пакета sysstat:</p><pre><code>$ 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 некоторые другие параметры, которые могут отображать использование диска в графиках трендов: <a href="http://munin-monitoring.org/">munin и <a href="http://www.cacti.net/">cacti .

посмотрите на iotop.или iodump, если это в большей степени зависит от вашего мышления.примечание. для работы требуется как минимум <a href="http://guichaz.free.fr/iotop/">ядро 2.6.2 .

мне нравится 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 </code></pre><ul> <li><code>-t</code> для отметок времени</li> <li><code>-d</code> для статистики диска</li> <li><code>-d</code> указать точные устройства для отчета</li> <li> <p><code>60</code> в среднем более 60 секунд. дисплей обновляется каждую секунду, но только один раз в 60 секунд будет запускаться новая строка.</p> </li> <li> <p>не используется в этом примере, но <code>-c</code> может сообщать об ожидании io, что в большинстве случаев связано с ожиданием цп данных с дисков.</p> </li> </ul><p>он доступен для большинства дистрибутивов linux, но иногда его нужно устанавливать из репозиториев.</p>

<p>просто из <a href="http://www.kernel.org/doc/documentation/iostats.txt">файлы на вашем компьютере</a> (в случае недавнего ядра) вы можете спросить <code>/sys/block/sda/stat</code> или <code>/proc/diskstats</code>. однако потребуется перевод. но это приятно для быстрой и грязной проверки.</p>

<p>другой вариант - использовать: <code>sudo iotop -aop</code></p><pre><code>-a will show accumulated output -o will only output -p will only show processes instead of threads </code></pre><p>эта программа скажет вам, сколько процесса записано на диск и прочитано с диска с момента запуска iotop.</p>

<p>мониторинг disk io может быть выполнен несколькими инструментами, такими как следующие.</p><ol> <li>iostat</li> <li>iozone</li> <li>sar</li> <li>vmstat</li> </ol><p>кроме того, некоторые важные концепции операционной системы очень необходимы для их понимания .. прочитайте <a href="http://www.slashroot.in/linux-system-io-monitoring">linux io полное руководство</a> </p>

<p>еще один замечательный инструмент для быстрого обзора, откуда берется нагрузка: <a href="http://www.atoptool.nl/"><code>atop</code></a> </p><p>он может показать вам обзор всех ресурсов (цп, память/подкачка, сетевой и дисковый ввод-вывод) или вы можете перейти к одному ресурсу и отсортировать процессы по тому, сколько они потребляют.</p>

<p>почему бы не попробовать <a href="http://nmon.sourceforge.net/pmwiki.php">nmon</a> . это делает диски и сеть с процессами. первоначально для aix, но он был портирован на linux уже несколько лет.</p>

<p>лучшее, что нужно сделать, если вы хотите видеть производительность в течение длительного периода, - это использовать <a href="http://www.centreon.com/">centreon</a> , который является мощным инструментом, основанным на <a href="http://www.nagios.org">nagios</a> . centreon позволяет контролировать графики, составляя графики производительности ресурса и многое другое.</p>