Несоответствие между «ps aux» и средняя загрузка сервера за 1 минуту

Я новичок в Linux, поэтому я пытаюсь выяснить несоответствие. Проблема в том, что средняя загрузка за 1 минуту, доступная в / proc / loadavg, не имеет смысла по сравнению с выводом команды «ps aux». Например, иногда за 1 минуту средняя загрузка достигает 15+. Это огромная нагрузка, учитывая, что у моего VPS 6 ядер. Тем не менее, "ps aux" почти не показывает никакой нагрузки -% ЦП всех процессов в сумме составляют несколько процентов.

Что я делаю не так? Связано ли это несоответствие с тем, что «ps» показывает запущенные в данный момент процессы, в то время как высокое 1-минутное среднее значение могло быть вызвано процессом, который больше не работает? Если это так, как мне просмотреть список всех процессов, запущенных за последнюю минуту?

0
задан 22 April 2017 в 14:12
2 ответа

значение загрузки в Linux не является значением, которое непосредственно соответствует использованию процессора. Использование ЦП рассчитывается по тому, сколько времени ЦП находится в режиме ожидания в заданный период времени. Загрузка - это индикация процессов, ожидающих обработки ввода-вывода, например. чтение с диска, сетевая активность. (Я не уверен, что это количество процессов, время для ответа на запрос io или просто вычисленное число для сравнения)

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

0
ответ дан 4 December 2019 в 16:17

Ключевым моментом для понимания является то, что использование ЦП и средняя нагрузка измеряют две разные вещи.

Использование ЦП несколько проще понять, поскольку это время процессора не простаивает , где «idle» идентифицирует цикл ожидания ядра (который выполняет инструкцию HALT или аналогичный).

Средняя загрузка измеряет, как указано на странице руководства,

количество заданий в очередь выполнения (состояние R) или ожидание для дискового ввода-вывода (состояние D) в среднем за 1, 5 и 15 минут Другими словами, средняя загрузка - это, ну, среднее количество процессов в очереди выполнения, ожидающих выполнения (R) или завершения ввода-вывода (D).

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

1
ответ дан 4 December 2019 в 16:17

Теги

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