Сервер случайным образом зависает на несколько секунд

Я заметил странную проблему: мой (веб-сервер) Ubuntu случайно зависает на несколько секунд, а затем снова восстанавливается. Сервер имеет следующие характеристики:

- 2 vCores of 2,4 GHz
- 8GB of RAM
- 40GB SSD
- 100 MBit network

В основном я использую на сервере следующие службы:

- NGINX (webserver and proxy)
- Mysql
- Varnish

Проблема возникает не каждый день, но в те дни, когда это происходит, обычно это происходит очень часто (примерно каждые 20 секунд ). Я использую Netdata в качестве инструмента веб-мониторинга и Newrelic для критических проблем.

This is a screenshot of the CPU graph taken from the Netdata dashboard Это снимок экрана с графиком ЦП, взятым с панели управления Netdata, поскольку вы можете видеть, что сервер перестает сообщать статистику, когда происходит зависание. Я обнаружил, что иногда количество операций ввода-вывода / ожидания резко возрастает непосредственно перед тем, как сервер зависает, но после чтения потоков и поиска в Google о высоких значениях ввода-вывода / ожидания я не мог найти ничего полезного, кроме [jbd2 / vda1-8] постоянно записывает на диск.

При запуске таких инструментов мониторинга, как top, ps, iotop и htop Я не вижу никаких процессов, использующих чрезмерное количество ресурсов, даже когда возникает проблема с зависанием.

При входе на сервер с помощью KVM хостинг-провайдера (OVH) я вижу следующее сообщение; Сторожевой таймер NMI: ОШИБКА: программная блокировка ЦП №0 / 1 зависает на 21 секунду! [процесс] . Также исследование этого сообщения об ошибке не дало много информации или решения. В настоящее время у меня заканчиваются идеи о том, что может вызвать эти проблемы, поэтому приветствую любую помощь.

1
задан 13 December 2016 в 18:00
2 ответа

Я не могу написать комментарий, как все остальные, но должен дать «официальный» ответ, хотя все, что я могу предложить, - это предположения. :-) Поскольку это VPS, то есть виртуальная машина (по-видимому, KVM), я могу представить, что у вашего хостера действительно есть какая-то текущая закулисная инфраструктурная работа или проблемы с надежностью.Для вашей виртуальной машины это может означать, что

  • виртуальная машина по какой-то причине мигрирует с одного физического сервера на другой (для чего требуется, чтобы виртуальный процессор был остановлен на мгновение, чтобы состояние виртуальной машины могло быть передано по сети). Признаком этого может быть (по моему опыту) то, что системные часы отключены на несколько секунд и должны быть исправлены демоном ntp.
  • хранилище, на котором находится виртуальный диск вашего сервера, недоступно в течение короткого промежутка времени (это, кстати, скорее всего, не локальный SSD, а некоторое дисковое пространство на сервере SAN или даже NFS) . Таким образом, процессы будут зависать при вводе-выводе, что обычно означает, что значение загрузки системы увеличивается даже при низкой загрузке ЦП.

Как я уже сказал, только догадки, но, возможно, это идея поговорить с хостером.

0
ответ дан 4 December 2019 в 05:30

Ваш VPS, вероятно, снижает нагрузку на ЦП и диск, вызывая очевидное зависание при слишком сильном регулировании. Проверьте через верх , если ваш CPU крадет время во время (или непосредственно перед / после) зависаний.

0
ответ дан 4 December 2019 в 05:30

Теги

Похожие вопросы