Antworten:
taskset <affinity mask> -p <process>
dh
taskset 1 -p 12345
um den Prozess 12345 so einzustellen, dass nur Prozessor / Kern 1 verwendet wird
Die Bitmaske kann eine Liste (dh 1,3,4, um die Kerne 1 3 und 4 eines 4+ Kernsystems zu verwenden) oder eine Bitmaske in hexadezimaler Form sein (0x0000000D die 1,3,4, 0x00000001 für nur Kern 1).
taskset
wird normalerweise in einem Paket aufgerufen shedutils
.
Bearbeiten: fast vergessen ... Wenn Sie die Affinität eines neuen Befehls festlegen möchten, anstatt ihn für einen vorhandenen Prozess zu ändern, verwenden Sie:
taskset <mask> <program> [<arg1>]...[<argN>]
Task-Set (util-linux 2.13-pre7) Verwendung: Task-Set [Optionen] [Maske | CPU-Liste] [pid | cmd [args ...]] setzt oder erhält die Affinität eines Prozesses
-p, --pid arbeiten mit der vorhandenen pid -c, --cpu-Listenanzeige und geben cpus im Listenformat -h, --help an, um diese Hilfe anzuzeigen -v, --version Versionsversionsinformationen
Standardmäßig wird ein neuer Befehl ausgeführt: Taskset 03 sshd -b 1024 Sie können die Maske einer vorhandenen Task abrufen: Taskset -p 700 Oder legen Sie Folgendes fest: Taskset -p 03 700 Das Listenformat verwendet eine durch Kommas getrennte Liste anstelle von a mask: Task-Set -pc 0,3,7-11 700 Bereiche im Listenformat können ein Schrittargument annehmen: zB 0-31: 2 entspricht Maske 0x55555555
Sie können Ihren Server immer nach Bedarf optimieren