Réponses:
taskset <affinity mask> -p <process>
c'est à dire
taskset 1 -p 12345
définir le processus 12345 pour utiliser uniquement le processeur / core 1
Le masque binaire peut être une liste (c.-à-d. 1,3,4 pour utiliser les cœurs 1 3 et 4 d'un système à 4 cœurs) ou un masque binaire en hexadécimal (0x0000000D le 1,3,4, 0x00000001 pour le noyau 1 uniquement)
taskset
est généralement dans un package appelé shedutils
.
Edit: presque oublié ... Si vous souhaitez définir l'affinité d'une nouvelle commande au lieu de la modifier pour un processus existant, utilisez:
taskset <mask> <program> [<arg1>]...[<argN>]
ensemble de tâches (util-linux 2.13-pre7) utilisation: ensemble de tâches [options] [masque | cpu-list] [pid | cmd [args ...]] définit ou obtient l'affinité d'un processus
-p, --pid opèrent sur l'affichage pid -c, --cpu-list existant et spécifient les processeurs au format liste -h, --help affichent cette aide -v, --version informations sur la version de sortie
Le comportement par défaut est d'exécuter une nouvelle commande: taskset 03 sshd -b 1024 Vous pouvez récupérer le masque d'une tâche existante: taskset -p 700 Ou le définir: taskset -p 03 700 Le format de liste utilise une liste séparée par des virgules au lieu d'un mask: taskset -pc 0,3,7-11 700 Les plages au format liste peuvent prendre un argument de foulée: par exemple 0-31: 2 est équivalent au masque 0x55555555
vous pouvez toujours optimiser votre serveur selon vos besoins