À l'aide de Cgroups pour limiter l'utilisation du processeur
Je suis en train d'utiliser les cgroups afin de limiter l'utilisation du PROCESSEUR. Je suis l'aide de ce guide
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-cpu_and_memory-use_case.html
Mon /etc/cgconfig.fichier conf est le suivant
mount {
cpu = /mnt/cgroup/cpu,cpuacct;
cpuacct = /mnt/cgroup/cpu,cpuacct;
}
group wheel {
cpu {
cpu.shares="800";
}
cpuacct {
cpuacct.usage="0";
}
}
group test1 {
cpu {
cpu.shares="200";
}
cpuacct {
cpuacct.usage="0";
}
}
Mon cgrules.conf est le suivant
@wheel cpu,cpuacct wheel
@test1 cpu,cpuacct test1
Althouth lorsque j'essaie d'exécuter:
dd if=/dev/zero of=/dev/null bs=1024k
Je vois que l'utilisation du processeur à 100% pour les utilisateurs appartiennent à un groupe de roue et test1
J'ai vérifié les services avec
service cgconfig état
et est
Loaded: loaded (/usr/lib/systemd/system/cgconfig.service; disabled)
Active: active (exited) since Mon 2015-03-02 17:29:19 EET; 7min ago
Process: 1240 ExecStop=/usr/sbin/cgclear -l /etc/cgconfig.conf -e (code=exited, status=3)
Process: 56536 ExecStart=/usr/sbin/cgconfigparser -l /etc/cgconfig.conf -s 1664 (code=exited, status=0/SUCCESS)
Main PID: 56536 (code=exited, status=0/SUCCESS)
Quelqu'un peut me dire ce que je fais mal?
Merci beaucoup
Pouvez-vous ajouter une sortie de
Bonjour, le résultat est le suivant: `
Merci beaucoup pour votre réponse. J'ai couru le
top
de commande lorsque vous êtes en cours d'exécution dd if=/dev/zero of=/dev/null bs=1024k
?cgroup
actions ne fera que limiter les ressources CPU quand il y a de la concurrence pour eux. Si, dans votre exemple, test1
veut de ressources CPU, et wheel
n'est pas à l'aide de tout, alors il n'y a pas de concurrence, et test1
peut avoir ce qu'il veut. Si les deux sont exigeants en ressources, alors vous devriez voir le est fondé sur des actions de limitation de prendre effet.Bonjour, le résultat est le suivant: `
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
51535 user1 20 0 108956 1680 556 R 100.0 0.0 0:27.74 dd
51557 user2 20 0 108956 1676 552 R 100.0 0.0 0:23.57 dd
user1 appartient au groupe de roue et user2 test1 groupeMerci beaucoup pour votre réponse. J'ai couru le
dd
commant pour les deux utilisateurs en même temps. J'ai mis également au-dessus du résultat de la commande top. Croyez-vous que je devrais essayer avec une autre commande?OriginalL'auteur SteveGr2015 | 2015-03-02
Vous devez vous connecter pour publier un commentaire.
cpu cgroup est un travail de conservation, c'est à dire. une tâche ne serait pas arrêté de l'utilisation du cpu si il n'y a pas de concurrence. Si vous voulez mettre une limite sur la quantité de cpu d'une tâche peut utiliser, essayez de définir
cpu.cfs_quota_us
etcpu.cfs_period_us
.Regarder la documentation ici.
OriginalL'auteur Rohit Jnagal