Prozessaffinität (auch als CPU-Pinning bezeichnet) ist der Prozess, bei dem laufende Programme einem einzelnen Thread (virtueller Kern) zugewiesen werden, anstatt dass er mit allen CPU-Threads ausgeführt werden kann. Das Festlegen der Prozessaffinität ist vorteilhaft, da Benutzer genau entscheiden können, wie viele Ressourcen ein Programm verwendet.

In diesem Handbuch erfahren Sie, wie Sie die Affinität zum Ausführen von Programmen auf Ihrem Linux-PC festlegen. Wir werden auch andere Möglichkeiten erläutern, wie Sie Systemressourcen auf Programme unter Ihrem Linux-Betriebssystem beschränken können.

Finden Sie Ihre CPU-Informationen

Bevor wir uns mit dem Anheften einzelner Programme an bestimmte Threads befassen können, müssen wir herausfinden, wie viele Threads auf Ihrem Linux-System verfügbar sind. Es gibt verschiedene Möglichkeiten, diese Informationen herauszufinden. Wir werden zwei Wege abdecken.

Der erste Weg, um die Anzahl Ihrer CPU-Threads herauszufinden, ist der Befehl nproc. Dieser Befehl gibt eine rohe Anzahl von Prozessoren aus, die für Ihr Linux-System verfügbar sind.

Um den Befehl nproc auszuführen und festzustellen, wie viele Threads verfügbar sind, müssen Sie ein Terminalfenster öffnen. Um ein Terminalfenster zu öffnen, drücken Sie Strg + Alt + T oder Strg + Umschalt + T auf der Tastatur.

Führen Sie bei geöffnetem Terminalfenster nproc aus.

Überprüfen Sie dies -  So benennen Sie Mediendateien unter Linux mit FileBot automatisch um

nproc

Sie werden es bemerken, nachdem Sie den Befehl ausgeführt haben. In der Eingabeaufforderung wird eine Nummer angezeigt. Die Nummer ist die Anzahl der Threads (virtuelle Kerne) Ihres Linux-Systems. Gehen Sie wie folgt vor, um diese Informationen für später zu speichern.

nproc >> ~/cpu-count.txt

Wenn der Befehl nproc einfach nicht genug Informationen für Sie ist, gibt es ein besseres Befehlszeilentool, das viel mehr Informationen über Ihre CPU-Threads liefert. Es heißt CPU-Info. Hier erfahren Sie, wie Sie es installieren.

Stellen Sie zunächst sicher, dass ein Terminalfenster geöffnet ist. Geben Sie dann die folgenden Installationsbefehle ein, die dem von Ihnen verwendeten Linux-Betriebssystem entsprechen.

Ubuntu

Unter Ubuntu Linux können Sie CPU-Informationen mit dem folgenden Befehl Apt package manager installieren.

sudo apt install cpuinfo

Debian

Diejenigen unter Debian Linux können CPU-Informationen mit dem folgenden Apt-get-Befehl zum Laufen bringen.

sudo apt-get install cpuinfo

Arch Linux

Arch Linux kann das CPU-Info-Tool unter Linux mit dem folgenden Pacman-Befehl in einem Terminalfenster problemlos installieren.

sudo pacman -S python-py-cpuinfo

Fedora

Verwenden Sie Fedora Linux? Holen Sie sich CPU-Informationen, indem Sie den folgenden Dnf-Befehl in einem Terminal ausführen.

sudo dnf install python3-cpuinfo

OpenSUSE

Ein OpenSUSE Linux-Benutzer? Starten Sie die CPU-Informationen mit dem folgenden Zypper-Befehl.

sudo zypper install python3-py-cpuinfo

Sobald das CPU-Info-Programm auf Ihrem Linux-PC eingerichtet ist, ist es Zeit, es zu verwenden, um die CPU-Informationen herauszufinden, damit wir genau bestimmen können, mit wie vielen Threads gearbeitet werden soll.

Überprüfen Sie dies -  Erstellen Sie eine Festplattendatenbank und suchen Sie schnell nach Dateien

Mit dem folgenden Befehl cpu-info können Sie Ihre CPU auslesen.

Hinweis: Unter Arch Linux, Fedora oder OpenSUSE Linux müssen Sie möglicherweise cpuinfo anstelle von cpu-info ausführen.

cpu-info

Nach dem Ausführen des Befehls sehen Sie sowohl eine Kernanzahl als auch eine logische Anzahl. Die logische Anzahl ist die Anzahl der Threads, mit denen Sie arbeiten müssen. Logische Informationen sind die wichtigsten Informationen zu diesem Handbuch. Sie können die CPU-Informationen auch in einer Textdatei speichern, indem Sie den folgenden Befehl ausführen.

cpu-info >> ~/cpu-count.txt

So stellen Sie die Prozessaffinität unter Linux ein

Um die Prozessaffinität auf Ihrem Linux-PC festzulegen, müssen Sie das integrierte Programm Taskset verwenden. Öffnen Sie ein Terminalfenster, indem Sie Strg + Alt + T oder Strg + Umschalt + T auf der Tastatur drücken. Befolgen Sie dann von dort aus die folgenden schrittweisen Anweisungen, um zu erfahren, wie Sie einen laufenden Prozess beeinflussen.

Schritt 1: Suchen Sie die Prozess-ID eines laufenden Programms, indem Sie pidof ausführen, gefolgt vom Namen der App. Um beispielsweise die Prozess-ID von Thunderbird zu ermitteln, führen Sie den folgenden Beispielbefehl aus.

Überprüfen Sie dies -  Automatisieren Sie das Umschalten zwischen benutzerdefinierten Profilen auf Android mit TF-Profil

pidof thunderbird

Schritt 2: Notieren Sie sich die Prozess-ID der App. Schließen Sie es dann an das folgende Beispiel für einen Task-Set-Befehl an.

Hinweis: Sie müssen thread_number in den CPU-Thread ändern, auf den Sie das Programm setzen möchten. Sie müssen außerdem process_id in die mit pidof gefundene Prozess-ID ändern, die Sie mit dem Task-Set verknüpfen möchten.

sudo taskset -cp thread_number process_id &

Müssen Sie Ihr neu affiniertes Programm überprüfen? Führen Sie das Task-Set -p für die Prozess-ID des Programms aus, um zu bestätigen, dass es auf dem in Schritt 2 angegebenen CPU-Thread ausgeführt wird.

taskset -p process_id

Erfahren Sie mehr über Taskset

Um mehr über Taskset zu erfahren, müssen Sie das Handbuch lesen. Führen Sie den Befehl man Task-Set aus.

man taskset

Wenn Sie den Befehl man taskset ausführen, erhalten Sie ein detailliertes Handbuch zur Taskset-Anwendung. Schauen Sie sich das an, um zu verstehen, wie die App funktioniert. Wenn Sie fertig sind, drücken Sie q, um den Vorgang zu beenden.