Encontre o comando demorando muito no Ubuntu 10.10

2

O comando find está demorando demais na minha máquina para ser concluído. Quando eu uso o comando time , descubro que o tempo do sistema e o tempo do usuário são muito pequenos em comparação com o tempo real. Meu processo de localização não está sendo agendado corretamente?

Eu interrompi o comando neverending find e obtive as seguintes estatísticas:

Real time : 5min
Sys time : 1.1 sec
User time : 3 sec

eu estava correndo

find / -name ls 2>/dev/null
    
por AnkurVj 11.08.2011 / 12:26

2 respostas

7

para o comando find , o disco IO é provavelmente um gargalo muito mais significativo do que o tempo de CPU.

compare o seu

find / -name ls 2>/dev/null   

com o equivalente

locate ls | grep "/ls$"

ou

locate -r "/ls$"

ou (mais rápido para encontrar o local dos comandos no seu caminho)

which ls
    
por 11.08.2011 / 12:31
2

Queria adicionar meus dois centavos ... Você pode querer olhar usando mlocate. Ele armazenará em cache os arquivos em seu sistema e permitirá que você use o comando 'locate' para localizar rapidamente o que está procurando. E você pode atualizar o cache usando o comando 'updatedb'. A única desvantagem é que ele não é tão fácil de usar em scripts como o find, porque requer privs root por padrão para usar.

O Find não armazena nada em cache, ele só será redigitalizado todas as vezes. Como o que a RedGrittyBrick disse, seu disco causará o gargalo em seu sistema.

    
por 11.08.2011 / 18:20