Система не отвечает, но нет загрузки процессора

297
dangonfast

Один из моих серверов полностью не отвечает:

top - 06:16:53 up 2:14, 1 user, load average: 30.95, 29.96, 22.92 Tasks: 168 total, 2 running, 166 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 12.6 sy, 0.0 ni, 0.0 id, 86.4 wa, 0.0 hi, 0.0 si, 1.1 st KiB Mem : 1014524 total, 61368 free, 877028 used, 76128 buff/cache KiB Swap: 0 total, 0 free, 0 used. 4196 avail Mem  scroll coordinates: y = 1/168 (tasks), x = 1/12 (fields) PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND  30 root 20 0 0 0 0 S 11.1 0.0 4:04.70 kswapd0  1116 root 20 0 791548 44900 0 S 0.4 4.4 0:14.91 dockerd  1 root 20 0 37752 2664 864 D 0.2 0.3 0:06.00 systemd  

Трудно сказать, что происходит, так как я не могу получить много информации (очень не отвечает), но вот что я вижу:

  • средняя нагрузка очень высокая
  • Я вижу около 20% - 30% загрузки процессора
  • Я не вижу высокого IO / использование сети
  • Я не могу определить, какие процессы находятся в очереди выполнения

Как можно получить высокую среднюю нагрузку и низкую загрузку процессора?

1

2 ответа на вопрос

4
Johan Myréen

Вы исчерпали память, и система работает. Недостаточно свободной памяти для хранения всех необходимых страниц процесса в памяти, поэтому ОС должна освободить некоторые страницы, чтобы иметь возможность загружать нужные страницы с диска. Поскольку у вас нет свопа, освобождаемые страницы не могут быть записаны в пространство подкачки, поэтому единственной альтернативой является либо сбросить кодовые страницы, доступные только для чтения, либо уменьшить кэш буфера. Когда выполнение переходит на страницу, которая была удалена, она должна быть снова считана в ОЗУ за счет какой-либо другой страницы. В какой-то момент проблема становится настолько острой, что большую часть времени тратит на ожидание загрузки страниц с диска, и очень мало циклов ЦП можно использовать для полезной работы.

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

0
nKn

Вероятно, проблема с точкой монтирования. Когда система пытается смонтировать точку монтирования, которая не доступна в то время, она начнет увеличивать нагрузку на систему, хотя вы можете не испытывать некоторый процесс, накапливающий процессор.

Пытаться:

  1. Запустите mountи посмотрите, есть ли какая-либо точка монтирования, которая не может быть достигнута в это время.
  2. Проверка /etc/fstabвсех точек монтирования, определенных во время запуска, и проверка возможности достижения какой-либо из них в это время.

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