• [^] # Re: .

    Posté par . En réponse au journal GCC lent. Évalué à 8.

    En complément, il pourrait être intérêssant de voir ce que fait ton processeur pendant les différentes phases de ta compilation. Pour cela lances un vmstat 5 par exemple et regardes que tes 90%-100% de CPU sont majoritairement de la CPU utilisateur. Ensuite vérifie que tu n'a pas de swap pendant ta compilation (colonnes si et so).

    En gros (j'y vais au rouleau compresseur) il faut que tu aies un minimum de runqueue (première colonne du vmstat) soit une valeur max de 4 pour un dual core (et encore certains extrémistes diraient 2), ensuite il ne faut pas que tu aies de process bloqués (colonne b), que ta valeur de swap ne bouge pas (grosse perte de performance en général), ton free il doit déjà être à une valeur basse, le buffer normalement tu t'en fous, le cache pareil même si on pourrait en discuter. Ensuite le si/so je l'ai déjà dit, le reste on zap et vient la colonne "us" qui doit avoir dans ton cas la valeur la plus haute possible par rapport à ta consommation totale de CPU. La valeur "sys" faudrait qu'elle soit inférieure à 10% quand t'es à 100%, l'idle on passe et le "wa" disons qu'on oublie pour éviter de faire sursauter les ingés BDD ou de stockage :-) Mais si tu fais des lectures/écritures sur disque local alors là ça peut monter haut et dans ce cas il faudrait réfléchir à avoir physiquement une source différente de la cible (pareil si tu utilises des disques réseaux).

    Donc si t'as un profil différent, il est fort probable que les ressources du serveur soient mal utilisées pendant la compilation. Maintenant reste à savoir pourquoi.

    Sinon quand tu parles de 1Go, c'est 1Go de RSS (RES) ou de VSZ (VIRT) ? Peut être que tu dépasses la mémoire de la machine car j'ai lu plus bas qu'il y avait 2Go sur la machine, donc si t'as 2 ld, potentiellement tu exploses les ressources dispos et là tu dois avoir du swap (cf remarque plus haut).

    Cdt,