Почему в основном операции ввода-вывода сильно загружены?

1075
Roman Goyenko

У меня есть процесс записи двоичных файлов в файловую систему ext3.

Я бы предположил, что это должно быть довольно простым процессом на процессоре, но я вижу, что загрузка процессора составляет 45%. Это 40-ядерный 80-потоковый сервер с массивом RAID 1 + 0 16 дисков.

Есть 100 потоков, выполняющих ввод-вывод одновременно. Это нормально, когда используется почти половина системного процессора? Есть ли способ проанализировать, почему он использует так много процессора?

Пользовательский процессор составляет около 10-15%.

Процесс такой: мы читаем некоторые данные из файла, проверяем, находятся ли данные в дБ, затем записываем данные в файлы. БД находится на другой машине, логирование также на другой машине. Что происходит, мы проверяем, есть ли файл там, обычно его там нет, поэтому мы создаем новый файл и записываем в него некоторые данные.

вот что я вижу с

иостат -хкт 1

03/07/2014 01:06:28 PM avg-cpu: %user %nice %system %iowait %steal %idle 16.14 0.00 43.24 0.01 0.00 40.60  Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 166.00 0.00 69.00 0.00 940.00 27.25 0.02 0.23 0.17 1.20 sda 0.00 322.00 1.00 598.00 128.00 3680.00 12.71 0.07 0.12 0.09 5.50 dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-3 0.00 0.00 0.00 235.00 0.00 940.00 8.00 0.06 0.26 0.05 1.10 dm-4 0.00 0.00 1.00 920.00 128.00 3680.00 8.27 0.10 0.11 0.06 5.40 
1
Вы должны были бы сравнить код. Ramhound 10 лет назад 0
Это не мой код, поэтому я ничего не могу с этим поделать. Roman Goyenko 10 лет назад 0
Если вы не можете сравнить код, тогда вы не сможете определить причину загрузки процессора. Ramhound 10 лет назад 0
Откуда бинарные файлы? Аппаратный или программный RAID? Любая другая деятельность на машине? vonbrand 10 лет назад 0
Я добавил больше информации в конце. Это аппаратный RAID. Мы делаем некоторые записи на diff. файловая система и есть также база данных на другом компьютере Roman Goyenko 10 лет назад 0

1 ответ на вопрос

0
KJ4IPS

Linux's load averaging, and some load monitors (top) will show io-wait as load.

Basically, when the CPU is waiting on the IO device (and not processing other load) it is still considered "loaded" and therefore contributes to load averages.

Я использовал iostat -xkt 1 для получения статистики, я добавил результаты к вопросу. Там очень мало айовитов Roman Goyenko 10 лет назад 1

Похожие вопросы