1

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

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 / использование сети
  • Я не могу определить, какие процессы находятся в очереди выполнения

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

2 ответа2

4

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

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

0

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

Пытаться:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .