Como posso ver qual processo trava meu Banana-pi por alguns segundos a cada dois minutos?

3

Resposta

Eu consertei meu "congelamento" ao girar o autoneg de ( ethtool -s eth0 duplex full autoneg off ).

Como encontrei isto

Toda vez que após um congelamento, monitorando a E / S do disco com a ajuda do post abaixo, vi que o rsynclogd estava gravando no disco após congelar. Em seguida, verifiquei / var / log para as últimas alterações e vi que kern.log tinha link / down mensagens após congela. Então eu imaginei que poderia ser a placa de rede que está desligando o & on, que se parece com congela se você estiver usando SSH ou tentando acessar seu servidor da Web.

Problema original

Eu tenho um bananapi com o Xubuntu nele:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
No LSB modules are available.
Linux version 3.4.103 (bananapi@lemaker) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #4 SMP PREEMPT Thu Dec 18 12:55:58 CST 2014
armv7l

A cada poucos minutos, a máquina inteira fica parada por alguns segundos. Eu tentei executar top , mas ele não mostra nada anormal de CPU% sábio.

Eu noto que está travando porque eu estou ssh'd em e quando eu tento digitar algumas vezes vai demorar de 5 a 30 segundos até que o texto apareça e eu possa fazer qualquer coisa na máquina.

Como posso descobrir qual processo está fazendo isso? Eu disse que isso acontece a cada poucos minutos, mas até onde eu sei, é bastante aleatório. Às vezes eu não noto isso por um tempo, mas, novamente, eu não estou digitando continuamente.

Eu tentei executar top como eu disse; parece estar atualizando a lista a cada poucos segundos quando estou olhando para ela, então ela pausa por mais tempo e vai "pegar" e atualizar 20x em 1 segundo, em seguida, continue como normal.

Eu também estou executando o servidor Apache nele; às vezes as páginas demoram a carregar - então eu sei que está pendurado novamente. Vai demorar de 5 a 30 segundos ou mais e vai funcionar bem por um tempo.

[editar]

Eu corri os comandos postados nas respostas abaixo. Continuei vendo o apache2 com 4096B, 3.5% de CPU, mas não trava. Então ele ficou pendurado de repente por cerca de 10 segundos e a única coisa que estava desligada era o rsyslogd: %código% ... no entanto, não há muito uso de CPU ou E / S de disco desse processo.

update: novamente, a única coisa que é diferente depois de congelar é mostrar rsynclogd no log de E / S.

Esta poderia ser realmente a fonte? ele grava apenas 8192 bytes, 0% de uso da CPU

[ edit3 ] fez um 0 0 |iotop 4507 40k 511B5.0%|jbd2/sda1-8 55 0 32k 0% 0 0 |iotop 4507 36k 570B 11%|| 0 0 |iotop 4507 40k 719B 11%||11%| 0 0 |iotop 4507 39k 582B 11%||rsyslogd 285 0 8192B0.5% 0 0 |iotop 4507 31k 0 12%|11%| 0 0 |iotop 4507 8653B 600B1.0%|11%| 0 0 |iotop 4507 36k 479B 11%||11%| 0 0 |iotop 4507 42k 534B 11%||11%| 0 0 |iotop 4507 37k 404B 11%||jbd2/sda1-8 55 0 8192B 0% 0 0 |iotop 4507 40k 745B 11%||11%| 0 0 |sshd: bananapi@pts/4 4549 206B 280B 0%|11%| 0 0 |iotop 4507 37k 639B7.5%|11%| 0 0 |iotop 4507 40k 533B 11%||11%| 0 0 |iotop 4507 37k 385B 11%||11%| 0 0 |iotop 4507 41k 511B 11%||11%| 0 0 |iotop 4507 7520B 0 10%|11%| 0 0 |iotop 4507 29k 555B2.5%|11%| 0 0 |iotop 4507 40k 704B 11%||rsyslogd 285 0 8192B 0% em / var / log e obteve o seguinte: %código% não sei o que fazer, exceto que não está funcionando como deveria

[ edit5 ] Ou pode ser que ele seja interrompido e o rsyslogd esteja apenas registrando algo sobre o fato de que algo deu errado em algum lugar. Como em ... correlação não é igual a causação? Os últimos logs atualizados em / var / log: syslog, auth.log, kern.log tudo pelo usuário "syslog" que é eu acho do rsyslogd cauda kern.log: grep rsyslogd *

Eu reinstalei o rsynclog, até mesmo o desativei. Ainda congela como antes. Eu acho que o rsysnclog está apenas registrando algo quando ele congela, mas não é o problema. Como na correlação, não é igual a causalidade .

Eu acho que o problema pode ser apenas o link estar ativo / o link estar desativado, desde que eu observei o "Congelamento" enquanto estava logado no SSH ou conectando meu servidor web. Isso pode fazer parecer que está congelado, enquanto é apenas o link da rede.

    
por Maurits 18.10.2015 / 19:06

3 respostas

1

Eu recomendo a ferramenta dstat . Ele tem vários plugins (listados por meio de "dstat --list") que podem ajudá-lo a restringir onde o problema está ocorrendo.

Um lugar para começar pode ser o mais caro IO:

# dstat -s --top-io-adv --top-bio-adv
----swap--- -------most-expensive-i/o-process------- ----most-expensive-block-i/o-process----
 used  free|process               pid  read write cpu|process               pid  read write cpu
   0  4000M|chrome                3388  152k  97k0.6%|chrome                3388  155k  95k0.6%
   0  4000M|gnome-terminal-server 4635  586B  24k0.1%|chrome                3388    0   12k0.1%

De: link

    
por 18.10.2015 / 19:25
0

O utilitário iotop pode lhe dar uma dica, se o atraso resultar de operações no disco rígido ou na rede.

    
por 18.10.2015 / 19:11
0

Você deve executar top de ordenação por tempo de CPU e anotar todos os processados que consumiram mais do que alguns segundos. Então, depois que um congelamento acontecer, execute novamente o top para verificar se um processo atingiu o topo.

Se você suspeitar de algum serviço específico (apache?), tente pará-lo e ver se o problema ainda está presente. Em geral, eu mataria qualquer processo não crítico relatado por top como um importante consumidor de tempo da CPU.

Também ajudaria se você descrevesse sua configuração de hardware. Você conectou algum hardware externo? Qual é a saída de lsmod ? Novamente, remover todo o hardware não essencial e desativar os módulos relacionados pode ajudar.

Como nota final, certifique-se de usar a Ethernet ao avaliar o desempenho (ou, melhor ainda, conectar-se diretamente a um terminal local). Wlan é um sistema muito mais complexo, com muitos lugares propensos a congelamentos. Por exemplo, se o seu dispositivo perde a conexão e se reconecta automaticamente, pode parecer um congelamento para SSH por WIFI.

    
por 19.10.2015 / 09:34