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.