accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: less est lent si $LESSOPEN existe

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.os.unix ] 

Retour : Accueil du site fr comp os unix   charte stats de ce groupe


  Sujet:   Re: less est lent si $LESSOPEN existe  
 De: rmo...@gmail.com (Rémi Moyen)
 Groupes: fr.comp.os.unix
 Organisation: http://groups.google.com
 Date: 13. Aug 2008, 10:15:28
 References: 1
On Aug 13, 5:28 pm, Nicolas George <nicolas$geo...@salle-s.org> wrote:

> Deux tests à faire :
>
> time less un_fichier
>
> et taper immédiatement q : ça dira si le temps perdu est passé en CPU ou en
> attente.

% time less toto
sum 0.266 0.638 0:14.92 5.9% 0

Je suis sous csh avec $time=10 sum %U %S %E %P %W, donc c'est 0.266 en
user, 0.638 en kernel, pour un temps total de 14.92. En d'autres
termes, il passe son temps à dormir...

> strace -ftto /tmp/less less un_fichier
>
> Et regarder où part le temps.

Hmmm... Rien de flagrant ici. Je peux envoyer le log si ça amuse
quelqu'un, mais je ne vois pas d'opération qui soit spécifiquement
longue. Il semble essayer d'ouvrir de très nombreuses fois des
fichiers qui n'existent pas, avec des lignes du genre :
open("/usr/X11R6/lib64/tls/x86_64/libpcre.so.0", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat("/usr/X11R6/lib64/tls/x86_64", 0x7fbfffc680) = -1 ENOENT (No such
file or directory)

Et aussi j'ai des dizaines de groupes de paquets de plusieurs
centaines de lignes (à vue d'oeil) de :
fstat(103, 0x7fbffe3290) = -1 EBADF (Bad file descriptor)

Tout ça se situe après le début de l'utilisation de $LESSOPEN, je
suppose, puisque j'ai dans la première seconde du log :
26335 18:06:38.914991 execve("/bin/csh", ["/bin/csh", "-c", "/usr/bin/
lesspipe.sh toto"], [/* 252 vars */]) = 0

Il lui faut déjà 5 secondes pour en arriver à :
26335 18:06:43.897994 stat("/usr/bin/lesspipe.sh", {st_mode=S_IFREG|
0755, st_size=1263, ...}) = 0
26335 18:06:43.898103 access("/usr/bin/lesspipe.sh", X_OK) = 0

Puis il perd encore 20 secondes avant de faire :
26507 18:07:01.104560 execve("/usr/bin/lesspipe.sh", ["/usr/bin/
lesspipe.sh", "toto"], [/* 252 vars */]) = 0

Ensuite, les choses vont plus vite :
26507 18:07:01.153357 open("/usr/bin/lesspipe.sh", O_RDONLY) = 3

(et le log finit -- donc less s'est vraiment lancé -- vers
18:07:02.15)

Mais à part ça...
--
Rémi Moyen


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Free counter and web stats