Правильная интерпретация показателей утилизации процессора в Linux важна для каждого системного администратора. Данная информация помогает быстро понять характер нагрузки и может указать на потенциально узкое место.
Чтобы получить данную информацию мы будем использовать команду
top, которая есть из коробки практически в каждом дистрибутиве. В данном случае нас интересует строка, выделенная желтым маркером на скриншоте. Она показывает, как используется процессорное время вашей системы в процентном соотношении.
🔹 us (User CPU time) – время потраченное на пространство пользователя. Это основная рабочая нагрузка и именно сюда попадает процессорное время, которое наши программы или службы тратят на полезную работу. Высокие значения говорят о том, что мы интенсивно нагружаем систему и не являются какой-либо аномалией.
🔹 sy (System CPU time) – время потраченное на пространство ядра. В пространстве ядра работают драйвера оборудования, системные вызовы и т.п. Нормальны умеренные значения этого показателя, высокие значения могут говорить о проблемах с оборудованием, высокую нагрузку на системы ввода-вывода или являться признаком DDoS-атаки на систему.
🔹 ni (Nice CPU time) - время потраченное на процессы пользовательского пространства запущенные с пониженным приоритетом. Для данного показателя справедливо все то, что было сказано для us. Данный показатель нужен для оценки того, как система перераспределяет ресурсы и анализируется в совокупности с us.
🔹 id (Idle) — время простоя (бездействия).
🔹 wa (I/O wait) — время на ожидание операций ввода-вывода, высокие значения показывают на то, что система много времени тратит на ожидание дисковых операций. Может служить показателем выхода из строя накопителей, но также высокие значения могут быть нормальными при интенсивной дисковой нагрузке. Продолжительные высокие значения являются признаком того, что система ввода-вывода не справляется с текущей нагрузкой.
🔹 hi (Hardware IRQ) — время, потраченное на обработку аппаратных прерываний. В обычных сценариях значение этого показателя должно быть близким к нулю, высокие значения указывают на возможную неисправность оборудования либо на крайне высокую нагрузку на устройства ввода-вывода.
🔹 si (Software IRQ) — аналогично, время, потраченное на обработку программных прерываний, умеренные значения этого показателя являются нормой, высокие значения в первую очередь показывают на высокую сетевую нагрузку, неисправность сетевого оборудования или DDoS-атаку.
🔹 st (Steal Time) - время «украденное» гипервизором у виртуальной машины, имеет значение внутри виртуальной машины и показывает какое количество процессорного времени она недополучила от гипервизора. Указывает на наличие конкуренции за процессорное время между виртуальными машинами или виртуальными машинами и процессами гипервизора.
