• [^] # Re: Gain sur un environnement de bureau n'utilisant pas de terminaux ?

    Posté par . En réponse à la dépêche Patch pour le noyau Linux améliorant l'interactivité entre les applications console et Xorg. Évalué à 5.

    C'est comme ca que fonctionne le contrôleur cpu des cgroups avec CFS.

    Tu définis des cpu.shares dans pour chaque cgroup. Pour tout les cgroups du même niveau tu additionnes leur cpu.shares. Chaque groupe obtient la portion de sont cpu.shares / sommes(cpu.shares). Et tu itères le processus en descendant de la hiérarchie.

    Tu peux donc dire des choses comme "L'ensemble de mes machines virtuelles n'utiliseras pas plus de 50% CPU si il y a contention sur l'accès au CPU et ma machine virtuelle X n'utilisera pas plus de 50% du temps CPU alloué aux machines virtuelles". Ce qui donnera donc 25% CPU au max donc si il y a contention entre un autre cgroup du niveau supérieur et un autre cgroup de machine virtuelle. Si il n'y a que des machines virtuelles qui veulent du CPU alors ma machine virtuelle donnée va récupérer 50% du CPU (50% de 100%). Mais aussi 50% si tu n'as que cette machine virtuelle mais qu'un autre cgroup du niveau supérieur veut du CPU.

    C'est puissant mais bordélique selon ce que tu veux faire, par ce que ca devient rapidement facile de perdre l'idée globale de ce que ca fait en partie. Il n'y a pas moyen de faire quelque chose quand il n'y pas de contention. Donc si ton système est idle, la tache bouffera tout le CPU.