Il y avait auparavant une option de configuration du noyau appelée sched_user ou similaire sous cgroups. Cela a permis (à ma connaissance) à tous les utilisateurs de partager équitablement les ressources système. En 2.6.35, il n'est pas disponible. Existe-t-il un moyen de configurer mon système pour partager automatiquement les ressources io / cpu / mémoire entre tous les utilisateurs (y compris root?). Je n'ai jamais créé de groupe de contrôle auparavant, existe-t-il un bon tutoriel pour le faire? Merci beaucoup.
linux
kernel
performance
administration
NightwishFan
la source
la source
Réponses:
La documentation du noyau fournit une couverture générale des groupes de contrôle avec des exemples.
Le
cgroups-bin
package (qui dépend delibcgroup1
) déjà fourni par la distribution devrait être correct.La configuration se fait en modifiant les deux fichiers suivants:
Utilisé par libcgroup pour définir les groupes de contrôle, leurs paramètres et points de montage.
Utilisé par libcgroup pour définir les groupes de contrôle auxquels appartient le processus.
Ces fichiers de configuration contiennent déjà des exemples, essayez donc de les adapter à vos besoins. Les pages de manuel couvrent assez bien leur configuration.
Ensuite, démarrez le gestionnaire de charge de travail et le démon de règles:
Le gestionnaire de charge de travail (cgconfig) est responsable de l'allocation des ressources.
Ajout d'un nouveau processus au gestionnaire:
Ajout d'un processus déjà en cours d'exécution au gestionnaire:
Ou automatiquement sur le fichier cgrules.conf et le démon de règles CGroup (cgred), qui force chaque nouveau processus généré dans le groupe spécifié.
Exemple /etc/cgconfig.conf:
Exemple /etc/cgrules.conf:
Cela partagera les ressources CPU environ 50-50 entre l'utilisateur 'alice' et 'bob'
la source