Назад | Перейти на главную страницу

Использование ЦП ВМ на 100%

Использование ЦП в нашем окне показателей составляет 100%, периодически вызывая:
'Внутренняя ошибка сервера' при рендеринге панелей Grafana

Единственное приложение, работающее на нашей машине, - это Docker с 3 подконтейнером.

Спецификация машины
Версия ОС Ubuntu 16.04 LTS
Релиз 16.04 (xenial)
Версия ядра 4.4.0-103-generic
Докер версии 17.09.0-ce
ЦП 4 ядра
Память 4096 МБ
Резервирование памяти не ограничено
Сетевой адаптер mgnt

Место хранения
Накладка на драйвер2
Поддержка файловой системы extfs
Поддерживает d_type true
Native Overlay Diff true

Предел подкачки памяти составляет 2,00 ГБ.

Вот отрывок из cAdvisor:

Процессы kworker и ksoftirqd постоянно меняют статус с «D» на «R» на «S».

Соответствуют ли спецификации машины этой настройке?
Как я могу довести использование ЦП до «нормального» уровня?

РЕДАКТИРОВАТЬ

После увеличения памяти с 4 ГБ до 8 ГБ он работал должным образом в течение нескольких дней, но со временем использование ЦП увеличилось:

У вас 4 ksoftirqds, использующих 39% вашего процессора. Это довольно много и может указывать на ряд проблем, таких как высокая нагрузка ввода-вывода, проблемы с управлением питанием или ошибки ядра / драйвера устройства.

Попробуйте обновить ядро ​​до последней версии, убедившись, что у вас выбран соответствующий вариант (например, есть ядра Ubuntu, специально настроенные для AWS и Azure), и ознакомьтесь с некоторыми инструментами устранения неполадок производительности ввода-вывода Linux.

Отличным ресурсом по устранению неполадок производительности Linux обычно является Блог Брендана Грегга

Похоже, ядро ​​использует тонны ЦП kworker потоков, что часто вызывается ошибками в драйвере ядра.

Для отладки запустите обратную трассировку с помощью echo l > /proc/sysrq-trigger что приведет к генерации вывода в dmesg. Запустите его несколько раз, чтобы убедиться, что он согласован. На основе эта тема может быть очевидно, какой драйвер вызывает высокую нагрузку. Можно подумать, что если вы запускаете это на ESXi, драйвер сетевого интерфейса e1000, как известно, содержит ошибки.