Es gibt zwei Möglichkeiten, einem laufenden Prozess CPU-Kern/Kerne zuzuweisen.
Erste Methode:
taskset -cp 0,4 9030
ziemlich klar! Zuweisen von CPU-Kernen 0 und 4 an der pid 9030
Zweite Methode:
taskset -p 0x11 9030
dies ein wenig komplexer ist. Die Hexadezimalzahl, die auf -p
folgt, ist eine Bitmaske.
Die CPU Affinität wird als Bitmaske dargestellt, mit der niedrigsten Ordnung Bit mit dem ersten logischen CPU entsprechen, und das höchstwertige Bit entsprechen: Eine Erklärung kann here, ein Auszug aus der unten gefunden wird gegeben ist die letzte logische CPU. Nicht alle CPUs können auf einem gegebenen System vorhanden sein, aber eine Maske kann mehr CPUs als vorhanden angeben. Eine abgerufene Maske spiegelt nur die Bits wider, die den physischen CPUs im System entsprechen. Wenn eine ungültige Maske angegeben wird (d. H. Eine, die keine gültigen CPUs auf dem aktuellen System entspricht), wird ein Fehler zurückgegeben. Die Masken werden typischerweise in hexadezimal angegeben.
Immer noch verwirrt? Schauen Sie sich das Bild unten:
![enter image description here](https://i.stack.imgur.com/ANscg.png)
Ich habe hinzugefügt werden, um die Binärdateien entsprechend der hexadezimalen Zahl und die Prozessoren von links beginnend von Null gezählt. Im ersten Beispiel gibt es eine one
in der Bitmaske, die dem zero
ten Prozessor entspricht, so dass der Prozessor für einen Prozess aktiviert wird. Alle Prozessoren, die zero
an ihre entsprechende Position in der Bitmaske haben, werden deaktiviert. In der Tat wird dies als Maske bezeichnet.
all dies gesagt ist, unter Verwendung des Prozessors taskset Affinität Änderung erfordert, dass:
Ein Benutzer CAP_SYS_NICE besitzen muß die CPU Affinität eines Prozesses zu ändern. Jeder Benutzer kann die Affinitätsmaske abrufen.
Bitte überprüfen Sie die Capabalities Man Page.
Sie könnten interessiert sein, um diese SO Question, die sich mit CAP_SYS_NICE befasst.
Meine Ressourcen
Tutorials Point
XModulo
Was ist der Server-Betriebssystem? Ein Benutzer muss 'CAP_SYS_NICE' besitzen, um die CPU-Affinität eines Prozesses zu ändern. Jeder Benutzer kann die Affinitätsmaske abrufen. – sjsam
Es ist nicht fair, von der Frage wegzulaufen, die Sie gerade gepostet haben. Bitte warten Sie auf die unmittelbaren Kommentare. Kommentare sind oft nützlich für Klarstellungen in Ihrer Frage – sjsam