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

Сервер Ubuntu замедляется каждый день в 9.00 утра

Этот сервер работает под управлением Ubuntu 12.04.5 LTS и используется как веб-сервер (apache 2.2.22) и ftp-сервер (proftpd 1.3.4a). Никто не может получить доступ к веб-страницам, если это происходит в течение 5 минут или около того. (Это виртуальный частный сервер)

Это результат работы команды top на данный момент,

top - 09:06:58 up 16 days, 14:29,  1 user,  load average: 36.01, 23.39, 10.79
Tasks: 161 total,  38 running, 123 sleeping,   0 stopped,   0 zombie
Cpu(s): 18.8%us, 56.2%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi, 25.0%si,  0.0%st
Mem:   8171872k total,  8043880k used,   127992k free,   164308k buffers
Swap:  2096124k total,        0k used,  2096124k free,  7007256k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5348 root      20   0 37536 7092 2104 R   43  0.1   0:43.40 archive.pl
 5354 www-data  20   0  174m 6984 4804 R   42  0.1   0:14.65 cron_job_creati
   35 root      20   0     0    0    0 R   41  0.0  11:40.57 kswapd0
   26 root      20   0     0    0    0 S   39  0.0   1:17.96 sync_supers
 5353 www-data  20   0  174m 6984 4804 R   38  0.1   0:13.32 cron_job_creati
 5352 www-data  20   0  174m 7232 4940 R   31  0.1   0:10.36 cron_job_creati
 5371 root      20   0 25108  308    0 R   24  0.0   0:00.87 master
 5358 www-data  20   0  296m 7476 1060 R   21  0.1   0:03.24 apache2
  948 root      20   0 25108 1604 1296 S   18  0.0   2:50.30 master
 5365 root      20   0  102m 2332  832 R   17  0.0   0:01.10 proftpd
  988 root      20   0  102m 2228  728 R   15  0.0  10:38.37 proftpd
 5317 www-data  20   0  304m  17m 3344 R   15  0.2   0:28.07 apache2
 5369 root      20   0  102m 1916  416 R   15  0.0   0:01.89 proftpd
 5225 www-data  20   0  305m  18m 3408 R   11  0.2   0:31.17 apache2
 5256 www-data  20   0  304m  17m 3344 R    9  0.2   0:29.83 apache2
 5254 www-data  20   0  303m  17m 3336 R    8  0.2   0:27.67 apache2
 5345 www-data  20   0  297m 8156 1720 R    6  0.1   0:04.92 apache2
 5357 root      20   0 17336 1356  972 R    4  0.0   0:04.48 top
 5368 www-data  20   0  296m 6976  624 R    3  0.1   0:00.98 apache2
 5363 root      20   0  102m 2128  628 R    1  0.0   0:01.45 proftpd
    1 root      20   0 24204 1760  912 S    0  0.0   1:31.62 init
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S    0  0.0   0:53.40 ksoftirqd/0
    5 root      20   0     0    0    0 S    0  0.0   0:00.49 kworker/u:0
    6 root      RT   0     0    0    0 S    0  0.0   0:00.62 migration/0
    7 root      RT   0     0    0    0 S    0  0.0   3:14.39 watchdog/0
    8 root      RT   0     0    0    0 S    0  0.0   2:49.77 migration/1
   10 root      20   0     0    0    0 S    0  0.0   0:12.92 ksoftirqd/1
   12 root      RT   0     0    0    0 S    0  0.0   4:01.38 watchdog/1
   13 root      RT   0     0    0    0 S    0  0.0   0:34.39 migration/2
   15 root      20   0     0    0    0 S    0  0.0   0:12.88 ksoftirqd/2
   16 root      RT   0     0    0    0 S    0  0.0   3:31.75 watchdog/2
   17 root      RT   0     0    0    0 S    0  0.0   1:10.81 migration/3
   19 root      20   0     0    0    0 S    0  0.0   0:08.38 ksoftirqd/3
   20 root      RT   0     0    0    0 S    0  0.0   3:30.11 watchdog/3
   21 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset
   22 root       0 -20     0    0    0 S    0  0.0   0:00.00 khelper
   23 root      20   0     0    0    0 S    0  0.0   0:00.00 kdevtmpfs
   24 root       0 -20     0    0    0 S    0  0.0   0:00.00 netns
   25 root      20   0     0    0    0 S    0  0.0   0:00.00 kworker/u:1
   27 root      20   0     0    0    0 S    0  0.0   0:00.08 bdi-default
   28 root       0 -20     0    0    0 S    0  0.0   0:00.00 kintegrityd
   29 root       0 -20     0    0    0 S    0  0.0   0:00.00 kblockd
   30 root       0 -20     0    0    0 S    0  0.0   0:00.00 ata_sff
   31 root      20   0     0    0    0 S    0  0.0   0:00.00 khubd

Заметил kswapd0, sync_supers запускаются только в это время. Что это? Память подкачки не требуется, так как физической памяти достаточно? archive.pl и другие команды, начинающиеся с cron_, - это написанные мной скрипты, которые запускаются каждые 10 минут. Они часто обращаются к жесткому диску, но никогда не замедляют работу сервера. Он возвращается в норму примерно через 5 минут. Заранее спасибо.

Одно можно сказать наверняка, ваша средняя нагрузка вышла из-под контроля - load average: 36.01, 23.39, 10.79. Посмотрев на потоки ядра, оказалось, что виртуальная машина имеет 4 виртуальных ЦП, и после нормализации для ЦП средняя загрузка составляет 9,5,84, 2,70, и это действительно много. Любая средняя загрузка выше 1,0 должна быть исследована на предмет перегрузки ввода-вывода, памяти или процессора.

В вашем случае дисковый ввод-вывод не является проблемой, 0.0%wa показывает, что ЦП не тратит впустую время на ожидание ввода-вывода, и, похоже, в D штат.

Память - я не вижу подкачки и фактического использования памяти в RES выглядит хорошо.

CPU - у вас есть 38 running задач и в главном выводе вы можете увидеть множество процессов в R состояние, все борются за цикл ЦП.

Я бы рекомендовал пройти ссылка на этот журнал Linux для устранения проблем с высокой средней нагрузкой. Например, вы можете начать с перемещения заданий cron из окна 9:00.