[caiu] RES: leap second e bugs no Linux e no Java aumentam a carga e travam servidores

Fabricio S. Pureza Fabriciosp em posthaus.com.br
Quinta Julho 5 10:23:57 BRT 2012


Faz um dois meses que já corrigimos isso.

Linux com Kernel  2.6.12 ou Linux 2.6.26  estão sucetíveis a esta condição, poderão reiniciar automaticamente no dia 30 de junho de 2012 devido a um ajuste de horário (leap second adjust)  - sincronização e ajuste em 1 segundo positivo ou negativo com o Coordinated Universal Time(UTC/GMT).
O fato a ocorrer será no momento que Linux "Leap Second adjustment", onde o kernel ao tentar simultaneamente apresentar a mensagem (printk() of Linux call),  pode causar um um congelamento do sistema.

Fabricio S.Pureza

-----Mensagem original-----
De: caiu [mailto:caiu-bounces em eng.registro.br] Em nome de Clovis Wichoski
Enviada em: quarta-feira, 4 de julho de 2012 18:47
Para: Lista das indisponibilidades da Internet brasileira
Assunto: Re: [caiu] leap second e bugs no Linux e no Java aumentam a carga e travam servidores

Para os travamentos do java, antes do reset fizeram algum dump para poder analisar se era o java mesmo, ou alguma API dentro do java que falhou?
Quando isso ocorre comigo geralmente analiso o heap e threads do java no momento da falha, o que mostra facil quem é o culpado, quando é tomcat uso o seguinte script no linux:

#!/bin/bash
today=`date +%Y%m%d%H%M%S`
psId=`/opt/java/bin/jps | grep Bootstrap |  cut -d' ' -f1` top -H -b -n 1 > /opt/logs/stack/top${today}.txt pstack $psId > /opt/logs/stack/pstack${today}.txt
/opt/java/bin/jstack -l $psId > /opt/logs/stack/stack${today}.txt if [ $1 -gt 0 ]; then
    /opt/java/bin/jmap -histo:live $psId >> /opt/logs/stack/stack${today}.txt
    /opt/java/bin/jmap
-dump:format=b,file=/opt/logs/stack/stack${today}.hprof $psId fi echo "stack do processo $psId gravado em /opt/logs/stack/stack${today}.txt"
blocked=`cat /opt/logs/stack/stack${today}.txt | grep BLOCKED | wc -l` echo "bloqueados $blocked"

se passar parametro 0 nao gera heap, maior que 0 gera, só adaptar o script para sua realidade, pelo menos pra descobrir quem foi o culpado real, sempre que utilizei o problema eram em APIs de terceiros dentro do java, ou drivers JDBCs travados por lock excessivo no banco de dados.

espero que isso ajude nos proximos travamentos.

Clóvis

Em 3 de julho de 2012 23:15, David Reis <davidfdr em gmail.com> escreveu:

> Muito estranho. Tivemos também que rebootar nossas instancias 
> madrugada de domingo para segunda. Jboss, java sun 1.6 27, debian... 
> Ficam hospedadas na Alog SP.
>
> Enviado via iPhone
>
> Em 03/07/2012, às 22:46, Clodonil Trigo <clodonil em nisled.org> escreveu:
>
> > Pode ser coincidência, mais tive problema de load em um servidor 
> > redhat
> que
> > rodava oracle. Só resolveu com reboot também. Não tivemos nenhuma
> operação
> > diferenciada para ter ocasionado isso.
> > Sou totalmente contra reiniciar servidor, mas ontem não deu mesmo.
> >
> > Clodonil
> >
> >
> > Em 3 de julho de 2012 22:01, David Reis <davidfdr em gmail.com> escreveu:
> >
> >> Neste final de semana uma máquina hospedada na ALOG SP parou de
> responder.
> >> Ela roda uma aplicação jboss + java em um debian. So voltou com reboot.
> >> Ainda não faço a minima mas a Alog falou que foi carga. Não 
> >> encontrei
> nada
> >> nos logs do jboss.
> >>
> >> Enviado via iPhone
> >>
> >> Em 03/07/2012, às 21:47, Fabio Catunda <fcatunda em lightcomm.com.br>
> >> escreveu:
> >>
> >>> Apenas por curiosidade, quais versões de Kernel apresentaram 
> >>> falhas
> para
> >> vocês?
> >>>
> >>> Eu tenho um parque com um bom punhado de servidores e não tive 
> >>> problema
> >> com nenhum, mas mantenho todos com os pacotes estáveis, não arrisco
> testing
> >> e etc.
> >>>
> >>> Grato,
> >>>
> >>> Catunda.
> >>>
> >>> On 03-07-2012 21:44, casfre em gmail.com wrote:
> >>>> 2012/7/3 Rubens Kuhl<rubensk em gmail.com>
> >>>>
> >>>>
> >>>>>
> >>>>>> Reboot eh uma solucao temporaria e ira mascarar o real 
> >>>>>> problema, que
> >>>>>>
> >>>>> provavelmente vcs nunca ficara sabendo.
> >>>>>
> >>>>> Eu tive problemas com 4 máquinas Linux e nenhuma delas respondia 
> >>>>> nem
> >> via
> >>>>>
> >>>> teclado nem via rede (ssh) e não tinham vídeo. Logo, sem nenhum 
> >>>> tipo
> de
> >>>> acesso, sobrou reboot. :-)
> >>>>
> >>>> Obrigado.
> >>>>
> >>>> Cássio
> >>>> _______________________________________________
> >>>> caiu mailing list
> >>>> caiu em eng.registro.br
> >>>> https://eng.registro.br/mailman/listinfo/caiu
> >>>>
> >>>>
> >>>> -->  PARA SAIR DA LISTA SIGA AS INSTRUÇÕES em:
> >>>>
> >>>> https://eng.registro.br/mailman/options/caiu
> >>>>
> >>> _______________________________________________
> >>> caiu mailing list
> >>> caiu em eng.registro.br
> >>> https://eng.registro.br/mailman/listinfo/caiu
> >>>
> >>>
> >>> --> PARA SAIR DA LISTA SIGA AS INSTRUÇÕES em:
> >>>
> >>> https://eng.registro.br/mailman/options/caiu
> >> _______________________________________________
> >> caiu mailing list
> >> caiu em eng.registro.br
> >> https://eng.registro.br/mailman/listinfo/caiu
> >>
> >>
> >> --> PARA SAIR DA LISTA SIGA AS INSTRUÇÕES em:
> >>
> >> https://eng.registro.br/mailman/options/caiu
> >>
> > _______________________________________________
> > caiu mailing list
> > caiu em eng.registro.br
> > https://eng.registro.br/mailman/listinfo/caiu
> >
> >
> > --> PARA SAIR DA LISTA SIGA AS INSTRUÇÕES em:
> >
> > https://eng.registro.br/mailman/options/caiu
> _______________________________________________
> caiu mailing list
> caiu em eng.registro.br
> https://eng.registro.br/mailman/listinfo/caiu
>
>
> --> PARA SAIR DA LISTA SIGA AS INSTRUÇÕES em:
>
> https://eng.registro.br/mailman/options/caiu
>
_______________________________________________
caiu mailing list
caiu em eng.registro.br
https://eng.registro.br/mailman/listinfo/caiu


--> PARA SAIR DA LISTA SIGA AS INSTRUÇÕES em:

https://eng.registro.br/mailman/options/caiu



Mais detalhes sobre a lista de discussão caiu