Quais são esses 99 +% picos no uso da CPU da Google Cloud VM?

1

Então eu tenho uma VM do Google Cloud que está executando uma loja de comércio eletrônico. Ele funciona bem, mas agora eu tenho esse problema pela segunda vez. O Uso da CPU da VM fica acima de 99% por um longo período. Durante esse tempo, o site está basicamente offline.

Quando interrompo a VM e a reinicio, ela volta ao uso normal da CPU, o que é < 1% na maior parte do tempo e 1 a 10% em alguns períodos tempo.

Além disso, quando eu uso sudo kill com o ID do processo do .php-fpm.bin , ele resolve o problema por algumas horas, mas depois começa a executar o .php-fpm.bin novamente em um PID diferente.

Além disso, quando eu uso o killall no .php-fpm.bin, o site cai completamente.

Este é um grande problema que pode se tornar muito ruim muito em breve e eu sou um iniciante com servidores.

Qualquer ajuda com a causa raiz disso será muito apreciada!

- EDITAR

Aqui está o meu uso da CPU mostrado usando ' top ' no SSH:

resultado no topo do ssh

Algo incomum está acontecendo com .php-fpm.bin , alguém tem uma ideia do que eu posso ser?

Isso fica visível quando digito ps aux no SSH:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
daemon   10048 99.9  0.9 286860 71564 ?        R    13:13  83:15 php-fpm: pool wordpress 

Se você precisar de outras estatísticas de monitoramento, por favor, diga-me o que você precisa saber e procurarei por você.

    
por luissimo 01.12.2016 / 16:53

2 respostas

1

Caveat: Eu também não sou um servidor / pessoa sysadmin mas tive que mergulhar no início deste ano.

Encontrei problemas de desempenho como este ao executar processos node.js. É possível que haja paralelos com o que você está vendo. No meu caso, com base nas alterações que experimentei, parece que elas estavam relacionadas a atingir limites máximos de páginas.

Estas são as alterações de configuração que realizei que ajudaram a resolver problemas:

Em /etc/security/limits.d/custom.conf

root soft nofile 1000000
root hard nofile 1000000
* soft nofile 1000000
* hard nofile 1000000

No /etc/sysctl.d/99-sysctl.conf

fs.file-max = 1000000
fs.nr_open = 1000000
net.nf_conntrack_max = 1048576

Para atualizar processos em execução:

sudo sysctl -w fs.file-max=1000000
sudo sysctl -w fs.nr_open=1000000
sudo sysctl -w net.nf_conntrack_max=1048576

Como root:

ulimit -n 1000000

A milhagem pode variar com base no que está gerenciando seus processos.

Aqui estão algumas documentações com mais ajustes sysctl, alguns dos quais eu planejo pesquisar e implementar: link

    
por 06.12.2016 / 21:18
0

@luissimo Este servidor não possui espaço de troca (veja os títulos principais), portanto, ele não pode trocar os processos. Alocar um disco (provavelmente mínimo de 200Gb). Você tem 8Gb de memória. Então use o fdisk para particionar o disco em dois, digamos, a primeira partição de 16Gb como área de troca, a segunda partição o resto. Veja se isso ajuda.

    
por 02.12.2016 / 09:31