Eu não sei sobre consertos - existem todos os tipos de coisas que podem causar atrasos. Mas posso oferecer algumas dicas para investigar.
Apenas como um palpite, talvez haja um diretório em algum lugar em um caminho de pesquisa ( $PATH
, ou algum lugar onde o bash procura por dados de conclusão) que está em um sistema de arquivos que é lento para responder. Geralmente, são sistemas de arquivos remotos que são lentos, mas também podem ser um disco rígido com falha, um driver FUSE com problemas, etc.
O primeiro passo para investigar é executar set -x
para obter um rastreamento dos comandos que o shell executa para gerar as conclusões. Veja onde ele pausa.
Se isso não der informação suficiente, traga as grandes armas. Observe o ID do processo do shell ( echo $$
). Em outro terminal, execute strace -f -s9999 -p$$
(ou o equivalente de strace se estiver executando em outro tipo de unix). Strace lista as chamadas do sistema realizadas pelo processo. Veja se ele parece estar acessando arquivos que não deveria, ou se o acesso a alguns arquivos é lento. Adicionar a opção -T
à linha de comando strace
faz com que ela mostre o tempo gasto em cada chamada do sistema.