View previous topic :: View next topic |
Author |
Message |
d2_racing Bodhisattva
Joined: 25 Apr 2005 Posts: 13047 Location: Ste-Foy,Canada
|
|
Back to top |
|
|
Dismantr Apprentice
Joined: 06 Jun 2007 Posts: 201
|
Posted: Tue Jul 29, 2008 6:41 am Post subject: |
|
|
Waow, ça a l'air pas mal ! je pense que je vais tester ça bientôt ! Quelqu'un a déjà mis ça en place ? |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8709 Location: ~Brussels - Belgique
|
Posted: Tue Jul 29, 2008 7:58 am Post subject: |
|
|
hmm oui j'ai vu, mais il faut alors penser à changer MAKE_OPTS en conséquence _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
d2_racing Bodhisattva
Joined: 25 Apr 2005 Posts: 13047 Location: Ste-Foy,Canada
|
Posted: Tue Jul 29, 2008 1:12 pm Post subject: |
|
|
Si quelqu'un test le nouveau truc de Portage, j'aimerais biens savoir si on voit vraiment une différence. |
|
Back to top |
|
|
ghoti Advocate
Joined: 30 Dec 2002 Posts: 3634 Location: Belgium
|
Posted: Tue Jul 29, 2008 1:39 pm Post subject: |
|
|
XavierMiller wrote: | mais il faut alors penser à changer MAKE_OPTS en conséquence |
Que veux-tu dire exactement ?
Comment interpréter ce post de zmedico ?
zmedico wrote: | Comment from: Zac MEDICO [Member] Email · http://dev.gentoo.org/~zmedico/
Yes, MAKEOPTS is completely separate. The --jobs, --keep-going, and --load-average emerge options are analogous to the ones provided by make. They have the same meaning for both tools, but they are controlled separately. The make options are set via MAKEOPTS, while the emerge options are controlled via the emerge command line or via an EMERGE_DEFAULT_OPTS setting in /etc/make.conf. |
|
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8709 Location: ~Brussels - Belgique
|
Posted: Tue Jul 29, 2008 1:48 pm Post subject: |
|
|
je veux dire que si tu augmentes le nombre de builds parallèles, il faut diminuer le make-opts. Sinon, tu te trouveras avec max (nombre de builds) x (MAKE_OPTS), ce qui va mettre ta machine sur les genoux. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
ghoti Advocate
Joined: 30 Dec 2002 Posts: 3634 Location: Belgium
|
Posted: Tue Jul 29, 2008 2:15 pm Post subject: |
|
|
La charge, oui, ça paraît clair ! (quoique un bon nice ...)
Mais quel est l'intérêt de --jobs ? Quel intérêt d'emerger plusieurs paquets en paralèlle puisque MAKEOPTS permet déjà de lancer des make en paralèlle ?
Bon, MAKEOPTS permet plusieurs processus paralèlles au sein d'un même paquet tandis que --jobs concerne plusieurs paquets (si j'ai bien compris ) mais quel intérêt de privilégier une méthode plutôt que l'autre ?
Le véritable intérêt ne concernerait-il pas surtout les multicores (meilleure répartition de la charge sur les # procs ?)
Ou alors, pour répondre au fait que certaines applications ne supportent pas la compilation multithread ?
Désolé pour ces questions naïves : je suis en pleine découverte ! |
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Tue Jul 29, 2008 3:36 pm Post subject: |
|
|
ghoti wrote: | La charge, oui, ça paraît clair ! (quoique un bon nice ...)
Mais quel est l'intérêt de --jobs ? Quel intérêt d'emerger plusieurs paquets en paralèlle puisque MAKEOPTS permet déjà de lancer des make en paralèlle ?
Bon, MAKEOPTS permet plusieurs processus paralèlles au sein d'un même paquet tandis que --jobs concerne plusieurs paquets (si j'ai bien compris ) mais quel intérêt de privilégier une méthode plutôt que l'autre ?
Le véritable intérêt ne concernerait-il pas surtout les multicores (meilleure répartition de la charge sur les # procs ?)
Ou alors, pour répondre au fait que certaines applications ne supportent pas la compilation multithread ?
Désolé pour ces questions naïves : je suis en pleine découverte ! |
Bah, certain paquets sont limités sur MAKEOPTS par exemple.
Effectivement c'est pour des multiproc multicoeur
sinon : http://jolexa.wordpress.com/2008/07/24/gentoo-portages-new-jobs-feature/ |
|
Back to top |
|
|
ghoti Advocate
Joined: 30 Dec 2002 Posts: 3634 Location: Belgium
|
Posted: Tue Jul 29, 2008 4:37 pm Post subject: |
|
|
kopp wrote: | Bah, certain paquets sont limités sur MAKEOPTS par exemple.
Effectivement c'est pour des multiproc multicoeur |
Ouf, pas encore trop largué le vieux !
Très instructif ton lien, Kopp ! Notament, la question du "./configure" : c'est vrai que certains peuvent être très longs ! |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Tue Jul 29, 2008 11:53 pm Post subject: |
|
|
Je suis en train d'essayer, avec un MAKEOPTS="-j3" et --jobs=3 --load-average=5.0, et ça tourne plutôt bien. Ce qui est bien avec le --load-average, c'est que bien que j'ai demandé 3 emerge parallèles, il en fera moins si la charge devient trop haute pour mon ptit C2D, plutôt pratique. C'est passé dans mon EMERGE_DEFAULT_OPTS du coup
Et j'aime bien l'affichage résumé que ça donne, sans les lignes de compilation qui défilent et tout, c'est bien mieux pour suivre le déroulement de tout ça Et ça affiche tout de même tout le log si jamais une compilation échoue, du coup ya pas de perte en cas de problème. |
|
Back to top |
|
|
Dismantr Apprentice
Joined: 06 Jun 2007 Posts: 201
|
Posted: Wed Jul 30, 2008 7:33 am Post subject: |
|
|
Pourquoi avoir choisi un load-average de 5 ? |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8709 Location: ~Brussels - Belgique
|
Posted: Wed Jul 30, 2008 8:01 am Post subject: |
|
|
ah ok, ça m'intéresse ! _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Wed Jul 30, 2008 8:54 am Post subject: |
|
|
Dismantr wrote: | Pourquoi avoir choisi un load-average de 5 ? |
Heu, c'est juste arbitraire, ça tourne encore bien avec cette charge là, et mon laptop chauffe déjà bien assez comme ça |
|
Back to top |
|
|
Dismantr Apprentice
Joined: 06 Jun 2007 Posts: 201
|
Posted: Wed Jul 30, 2008 12:05 pm Post subject: |
|
|
Je n'ai pas compris comment ça marche ce taux de charge ; ça correspond à quoi exactement (ptite formule mathématique, si possible...) ? C'est le ratio de quelque chose, mais de quoi...
Sinon, quel intéraction y a-t-il entre ce load average et un PORTAGE_NICENESS="10" dans le make ?
Et quel intéraction y a-t-il exactement entre un j5 dans le make et le jobs= de la commande ?
Si je règle le load average, je supprime le niceness ?
Si je règle, comme geekounet, mon j5 sur j3 et jobs=3 ça implique quoi exactement, en terme d'emerge ? |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Wed Jul 30, 2008 12:33 pm Post subject: |
|
|
Dismantr wrote: | Je n'ai pas compris comment ça marche ce taux de charge ; ça correspond à quoi exactement (ptite formule mathématique, si possible...) ? C'est le ratio de quelque chose, mais de quoi... |
Load average
Dismantr wrote: | Sinon, quel intéraction y a-t-il entre ce load average et un PORTAGE_NICENESS="10" dans le make ? |
Aucune, le nice n'intervient que sur l'utilisation des CPU, pas sur la charge.
Dismantr wrote: | Et quel intéraction y a-t-il exactement entre un j5 dans le make et le jobs= de la commande ?
Si je règle le load average, je supprime le niceness ?
Si je règle, comme geekounet, mon j5 sur j3 et jobs=3 ça implique quoi exactement, en terme d'emerge ? |
Le -j5 dans le MAKEOPTS c'est le nombre de travaux simultanés que va lancer make dans la compilation d'un package, le --jobs d'emerge c'est le nombre d'emerge effectués en simultané, donc si t'as -j5 dans le MAKEOPTS et --jobs=3 pour emerge, ça te fait au max 15 compilations simultanées, ce qui fait pas mal monter la charge, donc c'est là que l'option --load-average d'emerge est utile, parce qu'il ne va pas lancer trop d'emerge simultanés si la charge devient trop haute, il limitera à 1 ou 2 emerge en fonction... Et là tu vas te demander quel intérêt dans ce cas si c'est au final ça fasse moins de compilation parallèle que prévu à la base ? Bah c'est genre que pendant qu'un package perd du temps considérable sur un ./configure ou sur de la copie de fichiers en fin d'install et tout, t'atteint pas forcément les 15 compilations simultanés qui te tuent la charge, les autres packages profitent quand même de leur -j5 et peuvent compiler joyeusement tranquillement, donc ya un gain de temps et tout... (j'ai du mal à m'exprimer sur la chose, j'espère que t'arrives à voir où je veux en venir ;p).
Et sinon, nan, comme expliqué plus haut, le niceness n'a rien à voir avec la charge, donc l'option --load-average ne dispense pas du PORTAGE_NICESS dans le make.conf, ce nice te permet toujours de déprioritariser les travaux d'emerge par rapport aux autres activités de ta machine, ce qui te la garde réactive. |
|
Back to top |
|
|
Dismantr Apprentice
Joined: 06 Jun 2007 Posts: 201
|
Posted: Wed Jul 30, 2008 1:29 pm Post subject: |
|
|
Ok, merci !
Mais alors, pourquoi, si on suit Wikipédia sur le load average, ne pas mettre 2 plutot que 5 ? 5, ça correspond à la charge en simultané que peut support 5 processeurs à un instant donné, non ? Quel intérêt à maintenir une file d'attente ? (2.0=les deux proc pris à 100%, si j'ai bien compris) ?
... Je sais pas si je suis très clair, là... |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8709 Location: ~Brussels - Belgique
|
Posted: Wed Jul 30, 2008 2:37 pm Post subject: |
|
|
hmm, pourquoi ne pas déplacer cette section "portage & parallel emerge" dans un vrai sujet, voire TIP ? _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
Leander256 l33t
Joined: 05 Jul 2003 Posts: 910 Location: Singapour
|
Posted: Wed Jul 30, 2008 5:25 pm Post subject: |
|
|
Génial! C'est quand même une fonctionnalité que j'attendais depuis des siècles (bien que n'ayant du dual core que depuis un an et demi)! Parce qu'on perd un temps fou dans les parties non parallélisables comme les ./configure, surtout depuis le morcellement du serveur X en dizaines de paquets.
Ce qui me fait un peu peur, c'est la consommation mémoire de g++ sur certaines compilations. J'ai mis à genoux ma machine de 4 Go en compilant kmail avec un azureus bien chargé et un virtualbox faisant tourner une session de 1 Go. Donc si jamais portage a le malheur de compiler kmail en même temps que wesnoth par exemple, ça risque d'être le drame! |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Wed Jul 30, 2008 7:26 pm Post subject: |
|
|
Dismantr wrote: | Ok, merci !
Mais alors, pourquoi, si on suit Wikipédia sur le load average, ne pas mettre 2 plutot que 5 ? 5, ça correspond à la charge en simultané que peut support 5 processeurs à un instant donné, non ? Quel intérêt à maintenir une file d'attente ? (2.0=les deux proc pris à 100%, si j'ai bien compris) ?
... Je sais pas si je suis très clair, là... |
Faut voir l'impact de la charge sur ta machine, en fonction de ton utilisation ça va pas forcément t'affecter. Perso ça m'arrive souvent de faire monter la charge de mon laptop à 10 et tout va bien, et j'ai déjà vu un serveur au boulot qui, à cause d'un daemon foireux qq part, était monté à plus de 300 de charge, et il restait pourtant tout autant réactif pour le boulot qu'il faisait ;p
Donc moi, je limite à 5 parce que je trouve ça suffisant pis voilà, question de choix personnel |
|
Back to top |
|
|
d2_racing Bodhisattva
Joined: 25 Apr 2005 Posts: 13047 Location: Ste-Foy,Canada
|
Posted: Thu Jul 31, 2008 2:27 am Post subject: |
|
|
J'aurais jamais pensé que cette nouvelle ferait autant de posts |
|
Back to top |
|
|
Ezka Guru
Joined: 17 Feb 2005 Posts: 352 Location: par là, mais vraiment ...
|
Posted: Thu Jul 31, 2008 5:47 am Post subject: |
|
|
Leander256 wrote: | Ce qui me fait un peu peur, c'est la consommation mémoire de g++ sur certaines compilations. |
Essaye de compiler Boost ... avec un -j6 ... t'as besoin de rien d'autre pour flinguer 3Go de RAM
Donc en gros en mettant --jobs 6 --load-average X on se retrouve avec 6 compilation de paquet en // avec autant de thread de compil pour chaque compilation spécifié dans le MAKEOPTS (soit dans mon cas ça ferait 36 ... beau avoir un quad, vais tirer le tout vers le bas /D ) ? _________________ Ez. |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8709 Location: ~Brussels - Belgique
|
Posted: Thu Jul 31, 2008 8:08 am Post subject: |
|
|
ou OpenOffice...
Bon, on se le splitte, ce thread-in-ze-thread ? _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
Dismantr Apprentice
Joined: 06 Jun 2007 Posts: 201
|
Posted: Thu Jul 31, 2008 8:30 am Post subject: |
|
|
Ouais, c'est vrai ça ! : Geekounet ? Yoyo ? KernelSensei ? nirf, y'en a qui ont des vacances !
|
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Thu Jul 31, 2008 8:55 am Post subject: |
|
|
Ouais heureusement que j'ai des vacances hein
C'est fait
Et au passage, pour ceux qui l'ont toujours pas vu, ya plein d'autres nouveaux features dans Portage 2.2 (ya les sets qui sont intéressant et dont on avait causé auparavant ici, et le preserve-rebuild est sympa aussi mais il a encore qq bugs...) |
|
Back to top |
|
|
mrpouet Retired Dev
Joined: 29 Jul 2008 Posts: 87 Location: Bordeaux, France
|
Posted: Thu Jul 31, 2008 10:18 am Post subject: |
|
|
Leander256 wrote: | Génial! C'est quand même une fonctionnalité que j'attendais depuis des siècles (bien que n'ayant du dual core que depuis un an et demi)! Parce qu'on perd un temps fou dans les parties non parallélisables comme les ./configure, surtout depuis le morcellement du serveur X en dizaines de paquets.
Ce qui me fait un peu peur, c'est la consommation mémoire de g++ sur certaines compilations. J'ai mis à genoux ma machine de 4 Go en compilant kmail avec un azureus bien chargé et un virtualbox faisant tourner une session de 1 Go. Donc si jamais portage a le malheur de compiler kmail en même temps que wesnoth par exemple, ça risque d'être le drame! |
Heureux de constater que je ne suis pas le seul a avoir des performances étranges lors de certaines compilations, notamment qt4 l'autre jours je suis monté jusqu'a 95% de la ram utilisée (1go de DDR2 au total) avec seulement un terminal + xchat, je me suis retrouvé du coup swapé à 25 %.
le plus étrange c'est que avec gcc je dépasse pas les ~35-40%, niveau cpu par contre çà tourne normalement , mais coté mémoire qu'est ce que çà bouffe.
le coup de l'emerge en parallel peut être intérèssant pour gcc celà dit à tester |
|
Back to top |
|
|
|