Почему мониторинг ec2 показывает 100% процессорного времени, а топовый - только 20%?

10

Я запускаю скрипт Python на экземпляре ec2, который вставляет строки в базу данных на другом экземпляре. В мониторинге ec2 я видел 100% загрузки процессора, тогда как top показывает только 20% для процесса python. Чего не хватает сверху? Сетевые издержки?

RickyA
источник
Как насчет всех других процессов?
Ладададада
Около 0% использования
RickyA
Я также нахожусь в Диллиме, я посылаю свой репорт команды TOP клиенту :)
Маниш Шривастава

Ответы:

18

Данные, предоставляемые topчасто, являются недостаточными или вводящими в заблуждение в виртуализированных средах, таких как Amazon EC2, и сообщаемый процент зависит от типа вашего экземпляра и используемого базового ядра процессора (которое обычно не соответствует виртуализированному оборудованию, которое вы представили от гипервизора), среди прочих. другие вещи - то, что вы видите, скорее всего, вызвано соответствующим временем кражи ЦП, как это показано в большинстве связанных инструментов мониторинга Unix / Linux в настоящее время - см., например, столбцы% steal или st in sarили top:

st - время кражи
Количество процессоров, «украденных» у этой виртуальной машины гипервизором для других задач (например, для запуска другой виртуальной машины).

Сообщение в блоге о мониторинге EC2: случай с украденным процессором обеспечивает хорошее исследование и иллюстрацию этой темы:

Когда команда top отображает 40% загрузки процессора, но CloudWatch сообщает, что сервер максимально загружен на 100% - какую сторону вы выбираете? Ответ прост (CloudWatch является правильным, вершина не) [...]

Обратите внимание, что эта метрика гипервизора, кажется, (легко) доступна только в системах Unix / Linux, но не представляется наблюдаемой в Windows (пока), см. Мой вопрос. Есть ли в Windows эквивалент Unix 'CPU Steal Time'? подробнее об этой проблеме.

Штеффен Опель
источник
2
Спасибо за пост в блоге. Это действительно проясняет. Это действительно хорошо знать, так как я собираюсь развернуть Ganglia, и было бы стыдно измерять неправильные метрики. Мера% простоя!
RickyA
В моем случае cloudwatch также сообщает об использовании сети 3 Мбит / с, но когда я смотрю на свой сервер (с помощью iftop, iptraf, netstat и т. Д.), Я вижу, что единственное, что связано с сетевым подключением, - это мой ssh ​​на сервер. Что я действительно сомневаюсь, использует 3 Мбит / с ...
Benubird
-2

Amazon, вероятно, проверяет загрузку и отсутствие процентного использования от TOP. Если у вас есть два процесса на процессоре, они могут быть использованы на 20%, но вы можете иметь нагрузку 2.

MartinSVK
источник
Я не уверен, что вы имеете в виду под нагрузкой 2 ...
RickyA
Вы можете загружать систему на уровне 2. Два процесса на процессоре, но с низкой загрузкой.
MartinSVK