No bash, execute echo $$
para ver o ID do processo do shell, então prepare-se para pressionar Tab no bash. Abra outro terminal e execute strace -p1234
em que 1234 é o ID do processo do bash. strace
imprimirá um rastreamento das chamadas do sistema que o bash executa. Mesmo que você não entenda exatamente o que está acontecendo, isso geralmente é suficiente para entender o que está demorando - normalmente, ele está fazendo uma solicitação de rede ou acessando um grande número de arquivos. Descobrir quais configurações alterar para evitar a lentidão pode ou não ser fácil.
Dependendo das configurações de segurança do seu sistema, talvez você não tenha permissão para executar strace
em um processo não relacionado. Se você não for, execute strace
como pai do bash:
strace -tt -T -o bash.trace bash
Execute a tentativa de conclusão e, em seguida, saia do bash e observe o arquivo de rastreio bash.trace
. Cada linha tem um registro de data e hora no início, indicando quando a chamada do sistema foi iniciada, e o número entre colchetes angulares no final da linha é o tempo gasto na chamada do sistema.
strace
é um comando do Linux. Se você não estiver executando o Linux, procure o comando correspondente em seu sistema - dtrace
, truss
, trace
,…