когда я запускаю команду vmstat без каких-либо параметров, я получаю такой результат:
# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
7 117 0 719328 1251624 258624672 0 0 346 64 0 0 4 0 92 3 0
Как видите, простоя процессора составляет 92 процента. Независимо от того, сколько раз я подаю команду, я получаю аналогичные результаты.
Но когда я выдаю vmstat с параметром временного интервала, значение простоя процессора сразу же падает:
# vmstat 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
385 0 0 145380064 1457188 115708528 0 0 346 64 0 0 4 0 92 3 0
417 0 0 144694256 1457204 116388928 0 0 0 49 1122 528500 84 5 12 0 0
413 0 0 143960640 1457220 117117040 0 0 0 31 1127 529619 84 5 11 0 0
418 0 0 143224224 1457228 117850080 0 0 0 26 1114 530135 84 5 11 0 0
444 0 0 142483520 1457240 118587048 0 0 0 33 1112 530314 84 5 11 0 0
397 0 0 141820240 1457256 119245040 0 0 0 37 1114 531348 85 5 10 0 0
Вот! Даже если я получаю результаты с интервалом в 5 секунд, значение простоя процессора упадет примерно на 80 процентов!
Я не могу себе представить, потребляет ли сам vmstat столько мощности процессора (сервер имеет 32 процессора Inter Xeon X7550, каждый из которых имеет два 2 ядра и 2 потока).
Может ли кто-нибудь подсказать мне, что я теряю% 80 мощности процессора?
На странице руководства:
Если задержка не указана, печатается только один отчет со средними значениями с момента загрузки.
Вы сравниваете среднее время простоя с момента включения машины (92%) с пятисекундными интервалами (10-12%), что не имеет смысла.