Grande découverte en essayant Mageia 2 RC. On ne peut plus se suffire de lancer un truc lourd avec nice pour pas qu'il fasse ramer le reste!
Exemple : lancer dans 3 consoles 7z b , nice -20 7z b et top.
Les deux instances de 7z ont droit à 50% de CPU chacune. Par contre, si on les lance dans une seule console :
(nice -20 7z b &);(7z b &);top
Ils se partagent correctement : 90%/10% environ. Mais alors, comment lancer un service en arrière plan qui ne bouffe pas 50% du CPU?
Merci aux rois du cgroup, puisque je suppose que ça vient de cette belle évolution qui permet à Linus de regarder un film en faisant make -j48.
# Non, définitivement
Posté par Julien Gilbert . Évalué à 5.
"On ne peut plus se suffire de lancer un truc lourd avec nice pour pas qu'il fasse ramer le reste" je ne comprends pas cette phrase.
Vous voulez pas la jouer soft ? Je suis pas contraignant... vous voulez la jouer hard ? On va la jouer hard
[^] # Re: Non, définitivement
Posté par ʭ ☯ . Évalué à 0.
ben "man nice"
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Non, définitivement
Posté par yohann (site web personnel) . Évalué à 10. Dernière modification le 16 mai 2012 à 17:46.
man ironie
[^] # Re: Non, définitivement
Posté par Raoul Volfoni (site web personnel) . Évalué à 2. Dernière modification le 16 mai 2012 à 18:05.
Justement tu devrais le relire parce que nice -20 pour éviter de faire ramer ta bécane, heu comment dire… ou alors je n'ai pas non plus compris ton message. Je devrais peut-être essayer un
$ apropos zino
Ou sinon: CGROUP_SCHED=n
[^] # Re: Non, définitivement
Posté par ʭ ☯ . Évalué à 1.
Ah okokok…. en fait c'est pas nice moins vingt, mais nice tiret vingt. Ça ajoute 20 à la valeur par défaut!
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Non, définitivement
Posté par gnumdk (site web personnel) . Évalué à 4.
nice -n 20 ?
Parce que nice - 20 ca donne:
nice: -: Aucun fichier ou dossier de ce type
# Documentation
Posté par Sphax . Évalué à 2.
Voir ici
J'ai essayé vite fait avec un groupe à 100 cpu share et un à 900.
100 shares:
900 shares:
[^] # Re: Documentation
Posté par ʭ ☯ . Évalué à 2.
J'y suis passé en fouillant, mais c'est pas concluant : même avec 2 shares, mon processus de fond arrive à prendre 30% de cpu sur mon mono-processeur. C'est sûr qu'avec un tri-cpu comme le tien ça se sent même pas, mais c'est pareil : 100% environ et 300% respectivement.
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Documentation
Posté par serianox . Évalué à 3.
Quelques précisions pour comprendre la mécanique des cgroups :
- la valeur dans cpu.shares est un poids attribué au process (normalisé à 1024) lors de l'attribution de temps sur un core ; Si tu lances deux benchs dans deux cgroups différents sur un même core, tu verras la répartition souhaitée, si tu les mets sur deux core ils mangeront chacun de leur côté.
- Tu peux contrôler l'affinité, c'est à dire le core sur lequel réside un process, en restreignant les core accessibles grâce à cpu.cpus ; Cela permet par exemple de garantir que certains core restent disponibles.
- Enfin l'attribution du temps n'a de sens que si le process en demande ; Si celui-ci est bloqué dans une IO il n'en recevra pas même si il a un poids maximum.
Le cgroup cpu faut vraiment expérimenter un moment pour comprendre. :)
[^] # Re: Documentation
Posté par ʭ ☯ . Évalué à 6.
Cette mécanique est exactement celle permise avec la priorisation nice depuis aussi longtemps que je connais linux. cgroups apporte surtout la possibilité de grouper les taĉhes, pour que 48 processus en basse priorité ne finissent pas par faire saccader un processus unique genre lecteur vidéo en priorité normale. L'idée est que chaque groupe de processus est vu comme un seul droit processeur.
Mais en fait, j'ai fini par trouver comment faire fonctionner le nice "normalement" :
https://bugzilla.redhat.com/show_bug.cgi?id=721416
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
# schedtool et ionice
Posté par sileht . Évalué à 2.
Tu peux essayer du cote de schedtool et ionice
exemple: schedtool -D -n 19 -e ionice -c 3 '7z b'
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.