Pinning-Prozess an eine CPU


3

Ich möchte einen Prozess mit einer CPU1 in meiner Dual-CPU verbinden Maschine - wie mache ich das in Linux - beliebige Hinweise?


1
Die übliche Antwort auf solche Fragen lautet: Warum? Das OS weiß im Allgemeinen besser als Sie! (Ich dachte, ich würde diese Frage stellen, weil jemand es tun wird!)

Sie können die Prozessor-Affinität (Installationszeitpläne) verwenden und taskset -c 1 -p & lt; PID & gt; verwenden. Aber da Sie nur 2 Prozessoren haben und bis Sie sehr starke Gründe haben, vermeiden Sie es.
Zimbabao

Antworten:


8

Sie sollten lange und gründlich darüber nachdenken, warum Sie Ihrer Meinung nach schlauer sind als der Terminplaner. Wenn Sie danach noch die CPU-Affinität eines Prozesses unter Linux einstellen möchten, können Sie die Aufgabengruppe Befehl oder, wenn Sie das Programm selbst schreiben, die sched_setaffinity Systemaufruf.


1
Zum Beispiel ist es grundsätzlich immer falsch, einen rechengebundenen Prozess mit intensiver Cache-Wiederverwendung zu migrieren.
mabraham

1

Fwiw: Wir haben das getan und jeden Prozess in einer durchschnittlich komplexen Anwendung fixiert, die wir gut beherrschten. Wir haben herausgefunden, dass der Linux-Kernel-Scheduler Prozessor und Verarbeitungszeit besser zulässt als wir, wie bereits erwähnt ...

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.