Назад | Перейти на главную страницу

Один процесс забирает все ресурсы сервера (iowait?)

У меня есть несколько процессов, работающих одновременно на одном компьютере под CentOS 7 (каждый от имени отдельного пользователя Linux).

Я использую Zabbix для мониторинга.

Иногда на графике загрузки процессора появляется следующая картина.

Если увеличить, то это выглядит как

Таким образом, сервер на некоторое время зависает, и даже вход по SSH не работает (как и другие процессы, конечно, не работают должным образом), и агент Zabbix не может отправить свои данные на сервер Zabbix (сервер Zabbix находится на отдельном хосте) .

Как я понял из легенды Zabbix, желтая часть диаграммы - это Айоваит.

Не могли бы вы объяснить, как Айоваит одного процесса может так сильно повлиять на всю систему?

И как можно предотвратить и ограничить такое поведение?

Это не процесс, это время, когда вещи ждут ввода-вывода.

Я бы сказал, что у вас там может быть жесткий диск, который в то время полностью перегружен. Вроде до смешного перегружен - возможно, от:

  • Чрезвычайно плохое программирование, которое не буферизует вещи в памяти.
  • Крайне плохой выбор оборудования (например, жесткий диск, для которого просто не хватает бюджета ввода-вывода и требуется SSD).
  • Крайне неисправное оборудование (плохие секторы на жестком диске), из-за которого оно переходит в некую схему повторных попыток, которая занимает некоторое время.
  • Стандартное использование. Если у вас есть база данных, которая реорганизует индексы, она попытается сделать это как можно быстрее, и это может вызвать серьезные всплески операций ввода-вывода, независимо от того, какое оборудование вы используете.

ОЧЕВИДНО, это также может быть какая-то программная ошибка в драйвере, но, учитывая, что это профессиональный форум, я предполагаю, что вы позаботились о последних пакетах обновлений.

Вам нужно будет начать анализировать то, что вызывает чрезмерный ввод-вывод. Т.е. вы должны смотреть на статистику ожидания ввода-вывода процессов, а не на системные итоги.

Учитывая, что МНОГИЕ вещи выполняют операции ввода-вывода - и часто ждут его завершения - неудивительно, что полная перегрузка ввода-вывода вызывает все виды странного поведения.