Como encontrar o processo que consome a maior parte da CPU no Linux

2

Na minha máquina linux havia um script que acessava o mysql com um loop while (true). Isso causou meu uso de CPU para 99% -100%. Mas não consegui encontrar exatamente o roteiro que estava fazendo isso. A seguir estava o código do script.

while (true) {
    $con = mysql_connect("localhost","root","root");
    mysql_select_db("test_db", $con);

    $result = mysql_query("SELECT * FROM hs_hr_employee");
    mysql_close($con);
}

Eu tentei identificar o processo exato através do comando top. O resultado foi como abaixo.

Mesmoqueissomostrequeomysqldestárecebendo100%dousodaCPU.issonãomemostrouqualeraoscriptexatoqueestavacausandoesseproblema.

Entãoeutenteiocomandopsparadescobrirqualquerdicasobreisso.

ps-aux|grepmysqld

Asaídafoiaseguinte.

Ele também não deu nenhuma dica sobre este script php em execução. Nesse tipo de cenário, como podemos solucionar problemas exatamente para identificar o problema de criar scripts e comandos. Por favor me ajude nisso.

Obrigado antecipadamente.

    
por Andrea 23.02.2013 / 17:49

2 respostas

1

Informe o servidor mysql para registrar as consultas que levam mais de X segundos para serem concluídas.

Log de consulta lenta do Mysql

    
por 23.02.2013 / 18:43
0
sudo apt-get install powertop
sudo powertop

O pacote padrão é a versão 1.xe fornece porcentagem de uso da CPU de todos os processos na lista legal, versões mais recentes como 2.x mostram consumo de energia YAY (somente para chips Intel: /)

    
por 23.02.2013 / 23:41

Tags