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?

Onkar Mahajan
quelle
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.

Mark Drago
quelle
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 ...


quelle