В чем причина следующего несоответствия между процентным использованием ЦП Ubuntu Linux 16.10 System Monitor и ps pcpu,% использованием ЦП по отношению к отдельному процессу браузера Firefox?
Для приложения браузера Firefox я: получить 2,8% pcpu из ps -eo pid, rss, c, pcpu, cmd, в то время как для того же приложения браузера Firefox, приложение с графическим интерфейсом пользователя, системный монитор Ubuntu, показывают использование ЦП 0%.
Могу я спросить, почему такая разница?
Эксперт по Unix Linux Stack Exchange, @DopeGhoti, гипотеза об этой разнице такова:
возможно, ps сообщает о фактическом использовании ЦП в этот момент, но приложение с графическим интерфейсом может отображать совокупное использование за последние n секунд. , или, возможно, использование ЦП детьми или использование iowait.
Может ли кто-нибудь расширить эту гипотезу?
Любая помощь приветствуется.
После тестирования гипотезы @DopeGhoti в течение часа с использованием процесса Firefox
"Может быть, ps сообщает о фактическом использовании CPU в этот момент, но приложение GUI может показывать суммарное использование за последние n секунд, или, возможно, накатывать использование CPU от детей или использование iowait"
Я обнаружил, что это в основном верно, за исключением того, что ps измеряет фактическое использование CPU. вот так:
Если я знаю продолжительность работы моих процессов (период выборки), их фактические значения '%cpu' можно рассчитать следующим образом:
'CPU TIME' накопленное за период выборки ----------------------------------------------- x 100 продолжительность периода выборки
Я обнаружил, что показатель % загрузки процессора для процесса Firefox в Ubuntu Linux 16.10 System Monitor очень чувствителен к настройкам System Monitor: 1. Интервал обновления в секундах, n. Другими словами, суммарное использование за последние n секунд. 2. Разделить использование процессора на количество процессоров, я использую четырехъядерный процессор на Lenovo Thinkstation.
In summary, the longer the time period over which aggregate usage
измеряется, тем точнее измерение использования ЦП.