So erkennen Sie, ob und auf welchem CPU isolcpus aktiviert ist, wenn Sie beispielsweise zum ersten Mal eine Verbindung auf einem Server herstellen. Bedingungen:
Es wird kein Prozess erzeugt, um zu sehen, wohin er migriert wird.
Der Anwendungsfall ist , dass isolcpus=1-7
auf einem 6 Kern i7, scheint isolcpus beim Booten nicht aktivieren, und ich würde , wenn seine möglich wissen, aus /proc/
, /sys
oder jegliche Kernel - Einbauten , die im Userspace gelesen werden können, einen klaren Status der Aktivierung von isolcpus bereitzustellen und welche CPU betroffen sind. Oder lesen Sie sogar die aktive Einstellung des Schedulers, der als erster von isolcpus betroffen ist.
Bedenken Sie, dass die Betriebszeit so groß ist, dass dmesg
kein Startprotokoll mehr angezeigt wird, um Fehler beim Start zu erkennen. Grundlegende Antwort wie " Blick auf Kernel-Cmd-Zeile " wird nicht akzeptiert :)
pidstat
und isolcpus
. Können Sie etwas näher darauf eingehen?
isolcpus
ist, pidstat
kann Ihnen aber sagen, auf welcher CPU ein Prozess ausgeführt wird, wenn Sie das -C process_name
Flag übergeben. Zum Beispiel pidstat -C top
erzeugt das folgende. 10:56:52 AM PID %usr %system %guest %CPU CPU Command 10:56:52 AM 3457 0.00 0.00 0.00 0.00 6 top
isolcpus
ist ein Kernel-Parameter, der den Scheduler zwingt, keinen Prozess selbst zu migrieren, wenn er isoliert ist. Zum Beispiel erzwingt auf einem 8-CPU-Server isolcpus=1-7
in der Kernel-Befehlszeile, dass alle von init und jeder Art von Befehl in der Shell gespaltenen erzeugten Prozesse nur auf CPU0 ausgeführt werden. Um eine Aufgabe auf einer isolierten CPU auszuführen, müssen Sie sie beispielsweise mit starten taskset
. In Bezug auf das, was ich frage, scheint Ihre Antwort nicht zum Thema zu gehören.
pidstat -C isolcpus
. pidstat ist aus demsysstat
Paket.