La commande de recherche prend trop de temps sur Ubuntu 10.10

2

La commande de recherche prend trop de temps sur ma machine. Lorsque j'utilise la timecommande, je trouve que le temps système et le temps utilisateur sont trop petits par rapport au temps réel. Mon processus de recherche n'est-il pas planifié correctement?

J'ai interrompu la commande neverending find et obtenu les statistiques suivantes:

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

je courais

find / -name ls 2>/dev/null
AnkurVj
la source

Réponses:

7

pour la findcommande, les entrées / sorties sur disque risquent de constituer un goulot d'étranglement bien plus important que le temps CPU.

comparez votre

find / -name ls 2>/dev/null   

avec l'équivalent

locate ls | grep "/ls$"

ou

locate -r "/ls$"

ou (le plus rapide pour trouver l'emplacement des commandes sur votre chemin)

which ls
RedGrittyBrick
la source
2

Voulait ajouter mes deux cents ... Vous voudrez peut-être utiliser mlocate. Il mettra en cache les fichiers sur votre système et vous permettra d'utiliser la commande 'localiser' pour trouver rapidement ce que vous cherchez. Et vous pouvez mettre à jour le cache en utilisant la commande 'updatedb'. Le seul inconvénient est que son utilisation dans les scripts n'est pas aussi simple que celle de find, car elle nécessite par défaut des privilèges root.

Find ne cache rien, il effectue simplement une nouvelle analyse à chaque fois. Comme ce que RedGrittyBrick a dit, votre disque provoquera un goulot d'étranglement dans votre système.

Trev
la source