Flush-0: n processos que causam gargalo maciço

6

Eu tenho um cluster LAMP que compartilha arquivos via NFS e ocasionalmente um deles será afetado por algum tempo quando misteriosos processos de limpeza começarem a aparecer.

Alguém pode me ajudar? A única maneira de resolver isso é reinicializar - a eliminação dos processos gera apenas novos.

top - 19:43:43 up 104 days,  4:52,  1 user,  load average: 27.15, 56.72, 33.31
Tasks: 301 total,   9 running, 292 sleeping,   0 stopped,   0 zombie
Cpu(s): 15.6%us, 77.0%sy,  0.0%ni,  4.2%id,  2.0%wa,  0.0%hi,  1.2%si,  0.0%st
Mem:   8049708k total,  7060492k used,   989216k free,   157156k buffers
Swap:  4194296k total,   483228k used,  3711068k free,   928768k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                           
840 root      20   0     0    0    0 R 98.0  0.0   6:45.83 flush-0:24                                                                                                        
843 root      20   0     0    0    0 R 97.6  0.0   5:50.32 flush-0:25                                                                                                        
835 root      20   0     0    0    0 R 96.0  0.0   6:42.44 flush-0:22                                                                                                        
836 root      20   0     0    0    0 R 95.0  0.0   6:51.56 flush-0:27                                                                                                        
833 root      20   0     0    0    0 R 94.3  0.0   6:27.21 flush-0:23                                                                                                        
841 root      20   0     0    0    0 R 93.7  0.0   6:46.97 flush-0:26                                                                                                        
2305 apache    20   0  772m  31m  25m S 23.6  0.4   0:07.60 httpd                                                                                                             
2298 apache    20   0  772m  31m  25m S 13.6  0.4   0:08.98 httpd                                                                                                             
26771 apache    20   0  775m  47m  41m S 10.3  0.6   4:07.97 httpd                                                                                                             
2315 apache    20   0  770m  29m  25m S  9.0  0.4   0:07.44 httpd                                                                                                             
24370 memcache  20   0  457m 123m  608 S  8.6  1.6  66:20.28 memcached                                                                                                         
1191 apache    20   0  770m  30m  26m S  8.3  0.4   0:13.54 httpd                                                                                                             
2253 apache    20   0  771m  32m  27m S  8.3  0.4   0:11.75 httpd                                                                                                             
3476 varnish   20   0 52.9g 2.0g  20m S  8.0 25.6   0:15.30 varnishd                                                                                                          
17234 apache    20   0  775m  50m  45m S  7.0  0.6   9:22.09 httpd                                                                                                             
23161 apache    20   0  780m  54m  43m S  7.0  0.7   6:33.40 httpd

Obrigado

    
por Tom 25.01.2013 / 20:50

4 respostas

7

Seu sistema está sendo sobrecarregado com pedidos de gravação em disco e sua configuração "razão suja" não é ideal para seu ambiente.

Você pode definir dois parâmetros administrativos para a memória virtual:

Estes são os dirty_background_ratio e dirty_ratio localizáveis em /proc/sys/vm/

Esses parâmetros representam uma porcentagem da memória.

Se você definir um valor baixo para dirty_ratio , poderá obter mais carga de disco, mas reduzirá o consumo de RAM para o gerenciamento de memória suja.

O dirty_background_ratio é a porcentagem da memória residual mínima, que causou a interrupção de gravar dados sujos no disco do sistema. Isso significa que você deve encontrar o melhor compromisso entre a dimensão de partes sujas para escrever (flush process) e memória mínima em que o sistema será interrompido no processo de gravação.

O relacionamento para um bom desempenho pode ser:

dirty_ratio 90%
dirty_background_ratio 5%

uma proporção média:

dirty_ratio 40~50%
dirty_background_ratio 10~20%

As causas deste desequilíbrio no seu sistema podem ser várias, entre as causas mais comuns está uma quantidade insuficiente de RAM para gerenciar a instalação outras vezes, pode ser devido a uma queda no desempenho da memória instalada em seu servidor, com causas que variam de baixa ventilação a alimentação incorreta.

Embora a maioria dos problemas esteja na forma de erros de software, muitos desses erros não são conhecidos devido à má confuguração do hardware em relação aos serviços instalados. Especialmente no caso de máquinas alugadas.

Para ajudar os menos familiarizados com máquinas Linux, os parâmetros mencionados acima podem ser substituídos desta forma:

Modo permanente:
(execute estes dois comandos apenas uma vez, caso contrário edite este arquivo com o seu editor favorito)

# echo "vm.dirty_ratio = 40" >> /etc/sysctl.conf
# echo "vm.dirty_background_ratio = 10" >> /etc/sysctl.conf

Modo temporário:

# echo "40" > /proc/sys/vm/dirty_ratio
# echo "10" > /proc/sys/vm/dirty_background_ratio

Você pode encontrar mais informações sobre essas configurações em este link

    
por 29.01.2013 / 01:06
1

Encontrei o seguinte link com discussão semelhante:

0005972: O tempo de exibição e o tempo de atividade exibem valor médio incorreto de carga - CentOS Bug Tracker

no último post ele diz:

The high load average issue is resolved in a newer version of the hpvsa driver (1.2.4-7) that is now released by HP. Contact HP Support to obtain a copy of the new driver.

    
por 28.01.2013 / 19:26
0

Você tem um EnableMMAP Off no seu arquivo de configuração do Apache?

If you memory-map a file located on an NFS-mounted filesystem and a process on another NFS client machine deletes or truncates the file, your process may get a bus error the next time it tries to access the mapped file content.

For installations where either of these factors applies, you should use EnableMMAP off to disable the memory-mapping of delivered files.

Não tenho certeza se esses são os sintomas, mas vale a pena tentar

    
por 28.01.2013 / 21:44
0

Se você tiver um sistema de arquivos ext4, verifique este erro Escrita lenta na partição ext4 - INFO: tarefa flush-253: 7: 2137 bloqueado por mais de 120 segundos. que foi corrigido nos kernels recentes RHSA-2011 -1530 que você também pode obter, é claro, da Centos.

    
por 28.01.2013 / 22:36