L'affectation d'un cœur de processeur à un processus de - Linux
Est-il un moyen de forcer un processus spécifique PID, pour être exécuté et l'exécuter sur un seul de la cpu s d'un serveur? Je sais qu'il y a une commande de ce
taskset -cp <Cpu_Number> <Pid>
mais la commande ci-dessus ne fonctionne pas sur mon système. Donc, s'il vous plaît laissez-moi savoir si il y a une autre commande.
Qu'est-ce que le serveur de système d'exploitation? Un utilisateur doit posséder
Il n'est pas juste pour fuir la question que vous avez posté. S'il vous plaît attendre pour les commentaires. Les commentaires sont souvent utiles pour des précisions à votre question
CAP_SYS_NICE
pour modifier l'affinité CPU d'un processus. Tout utilisateur peut récupérer le masque d'affinité.Il n'est pas juste pour fuir la question que vous avez posté. S'il vous plaît attendre pour les commentaires. Les commentaires sont souvent utiles pour des précisions à votre question
OriginalL'auteur Admia | 2015-11-30
Vous devez vous connecter pour publier un commentaire.
Il y a deux façons de l'attribution du processeur core/carottes à un processus en cours d'exécution.
Première méthode:
Assez clair ! affectation de cœurs de processeur 0 et 4 pour le pid 9030.
Deuxième Méthode:
C'est un peu plus complexe. Le nombre hexadécimal qui suit
-p
est un masque de bits. Une explication peut être trouvée ici, dont un extrait est donné ci-dessous :Encore confus? Regardez l'image ci-dessous :
J'ai ajouté les fichiers binaires correspondant au nombre hexadécimal et les processeurs sont comptés à partir de la gauche à partir de zéro. Dans le premier exemple il y a un
one
dans le masque de bits correspondant à lazero
th processeur, de sorte que le processeur sera activé pour un processus. Tous les processeurs qui ontzero
à leur poste correspondant dans le masque de bits sera désactivé. En fait, c'est la raison pour laquelle il est appelé un masque.Après tous ces, à l'aide de taskset pour modifier l'affinité du processeur :
Veuillez vérifier les Capabalities Page De Man.
Vous pourriez être intéressé à regarder cette DONC, la Question qui traite avec CAP_SYS_NICE.
Mes Ressources
Tutoriels
Point
XModulo
Est la deuxième méthode que vous avez fourni, est juste une autre représentation de la première méthode? Ou la deuxième méthode a une forte incidence sur le CPU affectation?
Il n'a pas plus d'effet, je crois. C'est juste une autre représentation..
J'utilise la commande
ps -o pid,psr,comm -p <pid>
pour voir ce cpu est attribué à un processus spécifique. Ensuite, j'ai essayer de changer ce cpu cession par la commande suivantetaskset -cp <new_cpu> <pid>
. Puis j'ai de nouveau utiliser la commandeps -o pid,psr,comm -p <pid>
et je vois la précédente cpu cession n'est pas changé.Linux divides the privileges traditionally associated with superuser into distinct units, known as capabilities, which can be independently enabled and disabled.
Par défaut CAP_SYS_NICE est activé pour l'utilisateur root, je suppose.. Vous pouvez vérifier si le CAP_SYS_NICE est définie ou non à l'aide de cette commandelcap -c CAP_SYS_NICE
.OriginalL'auteur sjsam