Всякий раз, когда я пытаюсь сложить проценты использования ЦП от таких команд, как top
или mpstat
и, в частности, службы collectd
, я не могу получить точное 100% использование ЦП.
Например, top
результаты тестового сервера на Amazon EC2:
Cpu(s): 13.6%us, 31.6%sy, 0.0%ni, 53.2%id, 0.0%wa, 0.0%hi, 0.0%si, 1.7%st
Независимо от того, как я складываю проценты, я никогда не получаю 100% процессора, уж точно не каким-либо логическим образом. В основном это похоже на ошибки округления; 100,1% или 99,9%, но иногда я получаю более 110%. Обычно это происходит, когда steal
относительно высокое, например. одна ситуация из collectd
сообщила о ~ 21,44% кражи и ~ 88% простоя, только у этих двух уже более 100%. Я понимаю, что ni
(приятный) также учитывается в us
(пользователь), поэтому мне не следует его добавлять, но это все равно не работает.
Кто-нибудь знает, как сложить их до 100% или как интерпретировать исключительные случаи, о которых иногда сообщает collectd
?
top
точно не сообщает об использовании ЦП с точки зрения того, сколько ЦП используется, он указывает, сколько одного ЦП потребуется для запуска всех процессов. У вас может быть больше 100%. Смотрите темы здесь: superuser.com/questions/174660/ и serverfault.com/questions/127059/ - person wkl   schedule 16.08.2012top
может достигать 200%. Я забыл упомянуть VPS, это проверено, у него только одно ядро. Однако вcollectd
статистика разделена по отдельным ядрам. - person Martijn   schedule 16.08.2012