So legen Sie die Prozessaffinität unter Linux fest

So legen Sie die Prozessaffinität unter Linux fest

Prozessaffinität (auch bekannt als CPU-Pinning) ist der Prozess, bei dem laufende Programme einem einzelnen Thread (virtuellen Kern) zugewiesen werden, anstatt ihn mit allen CPU-Threads laufen zu lassen. Das Festlegen der Prozessaffinität ist vorteilhaft, da Benutzer so genau entscheiden können, wie viel 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 besprechen, wie Sie Systemressourcen auf Programme auf 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 mehrere Möglichkeiten , diese Informationen herauszufinden . Wir werden zwei Möglichkeiten behandeln.

Die erste Möglichkeit, die Anzahl der CPU-Threads herauszufinden, ist der Befehl nproc . Dieser Befehl gibt eine grobe Anzahl von Prozessoren aus, die für Ihr Linux-System verfügbar sind.

Um den Befehl nproc auszuführen, um zu ermitteln, wie viele Threads Ihnen zur Verfügung stehen, 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 .

So legen Sie die Prozessaffinität unter Linux fest

nproc

Sie werden es bemerken, nachdem Sie den Befehl ausgeführt haben; in der Eingabeaufforderung wird eine Zahl angezeigt. Die Zahl ist die Anzahl der Threads (virtuellen Kerne) Ihres Linux-Systems. Um diese Informationen für später zu speichern, gehen Sie wie folgt vor.

nproc >> ~/cpu-count.txt

Wenn Ihnen der Befehl nproc einfach nicht genügend Informationen bietet, gibt es ein besseres Befehlszeilentool, das viel mehr Informationen über Ihre CPU-Threads liefert. Es heißt CPU-Info. So installieren Sie es.

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 Info mit dem folgenden Befehl des Apt- Paketmanagers installieren .

sudo apt installiere cpuinfo

Debian

Benutzer von Debian Linux können CPU Info 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 einfach mit dem folgenden Pacman- Befehl in einem Terminalfenster 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 installiere python3-cpuinfo

OpenSUSE

Ein OpenSUSE Linux-Benutzer? Holen Sie sich die CPU-Informationen mit dem folgenden Zypper- Befehl zum Laufen .

sudo zypper installieren python3-py-cpuinfo

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

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 statt cpu-info ausführen .

So legen Sie die Prozessaffinität unter Linux fest

CPU-Info

Nachdem Sie den Befehl ausgeführt haben, 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, wenn es um diese Anleitung geht. Sie können die CPU-Informationen gerne in einer Textdatei speichern, indem Sie den folgenden Befehl ausführen.

CPU-Info >> ~/cpu-count.txt

So legen Sie die Prozessaffinität unter Linux fest

Um die Prozessaffinität auf Ihrem Linux-PC einzustellen, 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 . Folgen Sie dann den unten stehenden Schritt-für-Schritt-Anleitungen, um zu erfahren, wie Sie einen laufenden Prozess affinieren.

Schritt 1: Finden 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 finden, führen Sie den folgenden Beispielbefehl aus.

So legen Sie die Prozessaffinität unter Linux fest

Pidof Donnervogel

Schritt 2: Notieren Sie sich die Prozess-ID der App. Verbinden Sie es dann mit dem folgenden Taskset- Befehlsbeispiel.

Hinweis: Sie müssen thread_number auf den CPU-Thread ändern, auf dem Sie das Programm platzieren möchten. Sie müssen auch process_id in die mit pidof gefundene Prozess-ID  ändern , die Sie mit taskset affinieren möchten .

sudo taskset -cp thread_number process_id &

Müssen Sie Ihr neu verbundenes Programm überprüfen? Führen Sie taskset -p gegen die Prozess-ID des Programms aus, um zu bestätigen, dass es auf dem CPU-Thread ausgeführt wird, den Sie in Schritt 2 angegeben haben.

Aufgabengruppe -p process_id

Erfahre mehr über Taskset

Um mehr über Taskset zu erfahren, müssen Sie das Handbuch lesen. Führen Sie den Mann taskset Befehl.

So legen Sie die Prozessaffinität unter Linux fest

Mann-Aufgabensatz

Laufender Mann taskset Befehl erhalten Sie mit einem ausführlichen Handbuch allem über die taskset Anwendung präsentieren. Schauen Sie es sich an, da es Ihnen hilft zu verstehen, wie die App funktioniert. Wenn Sie fertig sind, drücken Sie q, um den Vorgang zu beenden.


So installieren Sie GitLab auf Ubuntu Server

So installieren Sie GitLab auf Ubuntu Server

Möchten Sie GitLab auf Ihrem Ubuntu-Server zum Laufen bringen? GitLab ist eine leistungsstarke selbsthostbare Alternative zu Diensten wie GitHub. Damit können Sie

Absicherung eines Ubuntu-Linux-Servers mit SELinux

Absicherung eines Ubuntu-Linux-Servers mit SELinux

Erfahren Sie, wie Sie Ihrem Ubuntu-Linux-Server zusätzliche Sicherheit verleihen können, indem Sie SELinux darauf installieren und aktivieren.

Konfigurieren Sie NFS auf einem Linux-Server mit Cockpit

Konfigurieren Sie NFS auf einem Linux-Server mit Cockpit

Benötigen Sie eine einfachere Möglichkeit, NFS-Freigaben auf Ihrem Linux-Server bereitzustellen? Erfahren Sie, wie Sie NFS-Freigaben mit der Cockpit-App bereitstellen.

So aktualisieren Sie auf Ubuntu 22.04 LTS

So aktualisieren Sie auf Ubuntu 22.04 LTS

Die langfristige Unterstützung für Ubuntu 22.04 ist da! Erfahren Sie, wie Sie Ihren Desktop oder Laptop auf die neueste Ubuntu-Version aktualisieren.

So installieren Sie die neuesten Nvidia-GPU-Treiber unter Linux

So installieren Sie die neuesten Nvidia-GPU-Treiber unter Linux

So installieren Sie die neuesten Nvidia GPU-Treiber unter Linux

So übertragen Sie Dateien in einen Docker-Container

So übertragen Sie Dateien in einen Docker-Container

Müssen Sie Dateien in Ihren Docker-Container übertragen? Mit dem Docker-CP-Tool können Sie Dateien ganz einfach in und aus Containern verschieben.

So installieren Sie eine DEB-Datei unter Linux

So installieren Sie eine DEB-Datei unter Linux

Was ist eine DEB-Datei? Was machst du damit? Erfahren Sie mehr über die vielen Möglichkeiten, wie Sie DEB-Dateien auf Ihrem Linux-PC installieren können.

So bringen Sie GOG Galaxy unter Linux zum Laufen

So bringen Sie GOG Galaxy unter Linux zum Laufen

Besitzen Sie Spiele auf GOG.com? Möchten Sie den GOG Galaxy-Client auf Ihrem Linux-PC einrichten, um einige Videospiele zu genießen? Befolgen Sie diese Anleitung, wie wir sie zeigen

So installieren Sie Docker Engine unter CentOS

So installieren Sie Docker Engine unter CentOS

Docker Engine ist ein offenes Containerisierungsprogramm für Linux und andere Plattformen. Docker Engine verwaltet eigenständige Container, die ähnlich funktionieren wie

So bündeln Sie alle Ihre Chats mit Ferdi in einem

So bündeln Sie alle Ihre Chats mit Ferdi in einem

Sind Sie es leid, Slack, Discord und viele andere Produktivitätstools auf Ihrem Linux-System zu installieren? Wünschen Sie sich, dass sie alle zu einem zusammengefasst werden könnten?