1

У меня есть процесс записи двоичных файлов в файловую систему 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 ответ1

0

Усреднение нагрузки в Linux, и некоторые мониторы нагрузки (вверху) будут отображать io-wait в качестве нагрузки.

По сути, когда процессор ожидает на устройстве ввода-вывода (а не обрабатывает другую нагрузку), он все еще считается "загруженным" и, следовательно, способствует усреднению нагрузки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .