Suche nach einer Möglichkeit, Hintergrundaufgaben anzuhalten/einen Benchmark-Modus zu erstellen

Suche nach einer Möglichkeit, Hintergrundaufgaben anzuhalten/einen Benchmark-Modus zu erstellen

Ich verwende Ubuntu 20.04 und arbeite an der Leistungsoptimierung einiger CFD-Codes. Wenn ich meinen Code zeitlich kontrolliere, um schnell Feedback darüber zu erhalten, ob eine Änderung von Vorteil ist, gibt es aufgrund von Hintergrundprozessen oft recht große Abweichungen von Ausführung zu Ausführung.

Da der Code alle verfügbaren Threads nutzt, führt die Belastung eines Threads mit Hintergrundaufgaben dazu, dass alle anderen warten müssen.

Meine Frage ist nun, ob es eine schnelle und einfache Möglichkeit gibt, Hintergrund-/nicht unbedingt erforderliche Aufgaben vorübergehend anzuhalten und mein System so in eine Art Benchmark-Modus zu versetzen. Bash-Skripte, Pakete, integrierte Optionen, alles ist willkommen.

Antwort1

Eine Möglichkeit besteht darin, das System auf einen Mehrbenutzer-Betrieb umzustellen (also ohne grafische Sitzung) und so die Anzahl der laufenden Prozesse auf etwa 50 zu reduzieren:

sudo systemctl isolate multi-user.target

oder sogar auf Einzelbenutzer umstellen (es werden etwa 10 Prozesse ausgeführt)

sudo systemctl isolate runlevel1.target
# Enter
su -l your-user-name

Und führen Sie dann Ihre Anwendung auf diesen Runleveln aus.


Wenn der Benchmark beendet ist, wechseln Sie zurück zur grafischen Sitzung durch

sudo systemctl isolate graphical.target

verwandte Informationen