Absalon |
|
Темы:
13
Сообщения:
119
Участник с: 14 июля 2017
|
Всем хорошего времени. Прочитал статью на хабре по поводу load average и решил ради любопытства мониторить этот показатель и сопоставлять его с показателем общей загрузки в данный момент. Как указано в названии, использую скрипт на основе данных из /proc/stat и утилку mpstat. Вот, что они отображают: В данный момент идет загрузка от конвертера ffmpeg. По htop и loadaverage (который на панели 'LA:') видно, что загрузка идет серьезная. В то же время по показаниям mpstat и скрипту, у меня 91% времени процессора idle. Объясните, пожалуйста, этот момент. |
serg66 |
|
Темы:
0
Сообщения:
91
Участник с: 01 ноября 2016
|
Absalon По моему современные процессоры имеют свои настройки управления питанием. Может планировщик удерживает одно ядро для выполнения чего-то? Вроде бы современные процессоры не обращают внимание на инструкцию iddle. Но это мое мнение. |
Absalon |
|
Темы:
13
Сообщения:
119
Участник с: 14 июля 2017
|
serg66Ничего не могу сказать по этому поводу, не изучал вопрос с такой стороны. К слову, в скрипте я видимо ошибся, не учтя динамику показателей, которую нужно было учесть. Если сделать так: То расчет идет +- правильный, по крайней мере сравнивая с показаниями htop.
|
Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
Я тоже, было, писал по прочитаному, но не показывало оно как надо, пока не подсмотрел тут: https://github.com/i3/i3status/blob/master/src/print_cpu_usage.c
|
Absalon |
|
Темы:
13
Сообщения:
119
Участник с: 14 июля 2017
|
AivarНе знаю С, если это он, но чисто арифметически вроде те же вычисления. Значит я не правильно интерпретировал показания /proc/stat. Нужно смотреть не на статику, а сравнивать значения до и после. Когда работал на виндовс никогда не задумывался, что в принципе означает показатель загрузки кроме эфемерных процентов. Оказывается, это отношение процессорного времени в момент времени N по отношению к моменту времени N-x. |
Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
Именно, на что и намекают curr и prev в именах переменных. Я привел часть скрипта. У меня цикл повторяется каждую секунду, но в данном случае это неважно. |