Como posso depurar ls -l sendo lento?

3

Eu estou no Ubuntu 16.04, que foi instalado pela universidade onde eu trabalho. ls funciona bem, mas ls -l é interrompido por 4 a 5 segundos. Eu encontrei algumas fontes dizendo que isso poderia ser devido a compartilhamentos montados e tal, mas eu não tenho sistemas de arquivos montados no meu computador (além do meu disco rígido, é claro).

O pessoal de TI está dizendo que não tem tempo para depurar isso, então estou me perguntando como eu poderia encontrar onde está o problema? Sem realmente saber o suficiente sobre como o ls funciona, suspeito que meu sistema operacional foi configurado de modo que ls -l precise falar com um servidor de autenticação por meio do samba. Como eu poderia verificar isso?

    
por funklute 31.10.2017 / 10:44

1 resposta

3

A melhor maneira de ver o que um aplicativo está fazendo é executá-lo por meio de um depurador. No caso de sistemas Linux, geralmente é gdb .
A maneira mais rápida de descobrir o que procurar no depurador é primeiro executar o aplicativo com strace , ele mostrará todas as chamadas do sistema sendo usadas e você poderá ver se há algo relacionado ao sistema que leva tempo.
Executar: strace ls -l

A depuração de /bin/ls , que faz parte do pacote coreutils , exigirá a instalação dos símbolos de depuração desse pacote. Você precisará adicionar um repositório para fazer isso, explicou neste responder .
Em execução: gdb --args ls -l irá levá-lo para a depuração. Mais informações sobre estão aqui.

    
por 31.10.2017 / 10:56

Tags