Je souhaite désactiver 3 cœurs de processeur et exécuter mon processeur sur un seul cœur. Je commande utilisé: maxcpus=1
. Mais après cela, j'ai exécuté cette commande ls /sys/devices/system/cpu
. Ça se voit encore cpu0,cpu1,cpu2,cpu3
.
J'ai essayé aussi: echo 0 > /sys/devices/system/cpu3/online
mais je reçois l'erreur suivante: no such file or directory
.
maxcpus=1
commande ? Avez-vous mis cette chaînegrub.cfg
comme option de démarrage? (Veuillez mettre à jour votre question au lieu de répondre dans les commentaires).maxcpus=1
) varie selon la distribution. De plus, le/sys
chemin que vous avez est tout simplement le mauvais, le bon chemin est/sys/devices/system/cpu/cpu3/online
.Réponses:
Comme Patrick l'a indiqué dans un commentaire , vous vous êtes
/sys
trompé de chemin .Si vous souhaitez désactiver tous les CPU sauf
cpu0
:La saisie
maxcpus=1
à l'invite du shell n'a aucun effet. Plus précisément, il définit la variablemaxcpus
sur la valeur1
de ce shell, ce qui n'a aucun autre effet. Vous pouvez définir le nombre de CPU au démarrage en passantmaxcpus
comme paramètre de noyau . Pour cela, vous devez changer la configuration de votre chargeur de démarrage (par exemple pour changer la ligne de commande du noyau dans U-Boot).la source
/sys/devices/system/cpu/online
et les./offline
fichiers pour contrôler tous les cœurs.core
et éteindre un?vous ne désactivez ou ne désactivez pas nécessairement les cœurs.
vous utiliseriez des cpusets et un ensemble de tâches
http://man7.org/linux/man-pages/man7/cpuset.7.html
En bref, si vous avez 1 cpu ayant 6 cœurs, vous configurez des cpusets et lancez votre processus dans un cpuset qui est configuré sur un seul cœur, par exemple le cœur n ° 3 par exemple. S'il s'agissait d'un processus parallèle, tout serait confiné à ce seul cœur de sorte que si vous lanciez 4 processus dans un cpuset donné avec un seul cœur défini, chacun des 4 processus obtiendrait 25% d'utilisation du processeur sur le cœur # 3.
À partir de cela, ce qui se passe généralement est qu'un cpuset est configuré de telle sorte que
aussi: https://linux.die.net/man/1/taskset
la source