Вот результат, который я получаю при запуске mpstat:
$mpstat
Linux 3.2.0-30-generic (my-laptop-C650) 09/17/2012 _x86_64_ (2 CPU)
05:32:01 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
05:32:01 PM all 9.16 0.08 2.69 2.00 0.00 0.04 0.00 0.00 86.02
И вот что я получаю, когда запускаю его с интервалом в одну секунду:
$mpstat 1
05:31:51 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
05:31:52 PM all 1.52 0.00 1.01 0.00 0.00 0.00 0.00 0.00 97.47
05:31:53 PM all 2.04 0.00 1.02 0.00 0.00 0.00 0.00 0.00 96.94
05:31:54 PM all 1.50 0.00 1.50 0.00 0.00 0.00 0.00 0.00 97.00
Почему первый процесс показывает, что процессор простаивает на 86%, а второй - как на 97%? Я пробовал это в нескольких различных конфигурациях, и это не повлияло на использование ЦП - если только mpstat не имеет значения.
Какому числу я должен доверять?
Когда вы запускаете mpstat в первый раз, он вычисляет время простоя с момента загрузки сервера до момента, когда вы запустили mpstat.
Но когда вы запускаете его с интервалами, вы получаете значение в течение указанного вами времени, здесь 1 секунда. И не все время с момента загрузки и до этого момента.
Фактически, iostat, vmstat работают так же, как я сказал,
Да, всегда бегайте с интервалами и отвечайте на звонок. Вот почему они выбрали средний вариант. Взгляните на системный монитор и график: вы увидите, насколько сильно он колеблется в пределах 10-секундного интервала.
Я знаю, что эта ветка старая, я все еще хотел ответить.