tgoop.com/linuxcamp_tg/553
Create:
Last Update:
Last Update:
Почему показатели нагрузки кажутся странными и чем помогает htop
CPU% и несколько ядер
Показатель %CPU у процесса это доля одного логического ядра, а не всей системы. На машине с 8 ядрами суммарный %CPU может быть больше 100%, это нормально. Сначала смотрим, сколько вообще ядер:
nproc
lscpu | grep '^CPU(s):'
Затем открываем htop и включаем отображение по ядрам, чтобы понимать распределение нагрузки.
htop
load average не процент загрузки
load average показывает среднее количество процессов, которые либо выполняются, либо ждут CPU или I/O. Это не процент и не "нагрузка процессора". Значение 4.0 на 4 ядрах означает, что в среднем одновременно 4 задачи хотят работать.
uptime
cat /proc/loadavg
Если load примерно равен числу ядер система работает в нормальном режиме. Если намного выше, значит есть очередь на CPU или на диск.
Steal time и работа в виртуалках
В htop есть поле st в строке CPU. Это время, когда ваша виртуальная машина хотела получить CPU, но гипервизор отдал его другим. Если st заметно выше нуля, а сама нагрузка небольшая, узкое место не в вашем приложении, а в окружении.
IOWait и зависания из-за диска
Поле wa (iowait) показывает, сколько времени CPU простаивает в ожидании диска или сети. Высокий wa при невысоком %CPU и большом load average означает, что проблема в I/O. Для проверки дисков удобно использовать iostat:
iostat -x 1
Как смотреть нагрузку
Корректный минимум: понять число ядер и текущий load, затем посмотреть разбиение CPU по user/system/iowait/steal и проверить диск.
nproc
uptime
htop
iostat -x 1
Если эти команды анализировать вместе, показания htop перестают выглядеть странными и становится ясно, где именно упирается система: в CPU, диск, память или виртуализацию.
LinuxCamp | #utils
BY LinuxCamp | DevOps

Share with your friend now:
tgoop.com/linuxcamp_tg/553
