Sistema muito lento [fechado]

2

Meu sistema linux está respondendo bem devagar. Devo esperar para obter o resultado do meu comando.

Como posso investigar para conhecer o problema de seu comportamento?

    
por Bingo 31.03.2014 / 14:39

2 respostas

4

A resolução de problemas de desempenho no Linux não é simples e não abrancho todas as possibilidades. No entanto, a maioria dos problemas se divide em três categorias: alto uso da CPU , alto uso de memória ou uso de E / S . NOTA: estão todos interligados.

Primeiro tipo: top -b -n 1 | head -15

Isso fornecerá a seguinte saída:

top - 15:32:09 up 19 days,  2:32,  2 users,  load average: 0.61, 0.46, 0.42
Tasks: 208 total,   1 running, 207 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.9%us,  3.6%sy,  0.0%ni, 95.2%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16430432k total, 15188864k used,  1241568k free,   304624k buffers
Swap:  2097148k total,      112k used,  2097036k free,  7342636k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
16106 user   20   0 4070m 2.1g 2.1g S   30 13.5   4678:57 VirtualBox
26070 user  20   0 6113m 749m 697m S    6  4.7 628:55.93 VirtualBox
14863 user   9 -11  272m 3192 1804 S    2  0.0   5:57.19 pulseaudio
    1 root      20   0 24724 2548 1276 S    0  0.0   0:05.32 init
    2 root      20   0     0    0    0 S    0  0.0   0:00.15 kthreadd
    3 root      20   0     0    0    0 S    0  0.0   0:33.45 ksoftirqd/0
    6 root      RT   0     0    0    0 S    0  0.0   0:03.74 migration/0
    7 root      RT   0     0    0    0 S    0  0.0   0:02.51 watchdog/0

Primeiro, observe a média de carregamento . Verifique aqui para entender o que isso significa (é muito importante entender este conceito ).

IMPORTANTE: Aqui abaixo, suponho que você tenha um único núcleo (1 CPU, sem dual-core, ...)

Se o load avg for menor que 1 após 5mins, então a carga da CPU está OK. Neste ponto, não tenho certeza do que poderia ser. Continuar a solucionar problemas como se não fosse OK.

Se o load avg for maior que 1 após 5mins, a carga da CPU será alta. Para entender por que a carga da CPU é alta, verifique as seguintes entradas na saída dada por top:

Na saída acima, você pode ver uma lista de processos. Veja a coluna % CPU e verifique se você vê os processos usando 100%. O fato de eles usarem 100% da CPU pode ou não ser um problema, mas como um teste, seria bom pará-los.

Para interromper um processo na parte superior, pressione "k" e digite o valor encontrado em PID para o processo determinado.

IMPORTANTE: Anote o nome do processo. Antes de matar qualquer um, tente entender o que eles fazem (pesquise no google). Você só pode parar o processo que você possui (verifique na coluna USER) como usuário normal (você precisa ser o root, caso contrário, mas tenha cuidado com o que você mata, na dúvida não). Também dê uma olhada nos valores % us e % sy , us significa usuário e sy para o sistema. Basicamente, eles representam respectivamente o uso da CPU no espaço do usuário e no espaço do kernel.

Se o sistema acelerar, provavelmente o processo que você matou estava causando o problema. Se não, continue

Valor lido em % wa . É alto? (acima de 50%), se for alto, significa que as Entradas / Saídas (E / S) para o disco estão altas e a CPU está esperando. Use o comando iostat para determinar qual unidade está lenta.

Você também pode verificar o uso da mem.

Digite free -m na linha de comando. Você deveria ver algo assim:

                 total       used       free     shared    buffers     cached
Mem:         16045      14835       1209          0        298       7172
-/+ buffers/cache:       7365       8679
Swap:         2047          0       2047

Verifique o valor em buffers / cache sob usado. Se estiver usando muito mem, o valor deve estar próximo do total.

Verifique também o valor usado em Swap (se você tiver uma partição swap). Se for alto, ou seja, próximo do valor máximo visto no total (para Swap), significa que o seu sistema está trocando muito e o que significa que está paginando para o disco (que é muito mais lento que a RAM).

Novamente, isso pode não resolver seu problema, mas é um bom começo.

    
por 31.03.2014 / 17:12
-2

check-in stat:

#!/bin/sh
while [ 1 ]
do
/usr/bin/iostat -x -m -t 10 6 >> /var/log/iostat.'date +%Y%m%d'.log 2>&1
sleep 10
done
    
por 31.03.2014 / 16:36