Servidor Ubuntu ficando lento todos os dias às 9.00AM

2

Este servidor executa o Ubuntu 12.04.5 LTS e é usado como um servidor web (apache 2.2.22) e um servidor ftp (proftpd 1.3.4a). Ninguém pode acessar páginas da web quando isso acontece por 5 minutos ou mais. (Este é um servidor privado virtual)

Esta é a saída do comando top neste momento,

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

Eu notei kswapd0, sync_supers são executados apenas neste momento. O que são aqueles? A memória de troca não é necessária, pois há memória física suficiente? archive.pl e outros comandos que começam com cron_ são scripts escritos por mim que são executados a cada 10 min. Eles acessam muito o disco rígido, mas nunca causaram lentidão no servidor. Volta ao normal depois de 5 minutos ou mais. Agradecemos antecipadamente.

    
por Asela 14.05.2015 / 12:34

1 resposta

1

Uma coisa é certa: sua média de carga está fora de controle - load average: 36.01, 23.39, 10.79 . Observando os encadeamentos do kernel, parece que a VM tem 4 vCPUs e depois de normalizar para CPU, a média de carga é 9,5.84, 2.70 e isso é realmente alto. Qualquer média de carga acima de 1.0 deve ser investigada para uma sobrecarga de I / O, memória ou CPU.

No seu caso, a E / S de disco não parece ser um problema, 0.0%wa mostra que a CPU não está perdendo tempo a espera de E / S e não parece haver nenhum processo no estado D .

Memória - não vejo nenhuma troca e o uso de memória real em RES parece bom.

CPU - você tem 38 running tarefas e na sua saída superior você pode ver muitos processos em R state, todos competindo pelo ciclo da CPU.

Eu recomendaria passar por este Linux Link de diário para solucionar problemas da média de carga alta. Você pode começar movendo as tarefas cron da janela 9:00, por exemplo.

    
por 16.05.2015 / 02:29