如何在 Linux 上設置進程關聯

進程關聯(也稱為 CPU 固定)是將正在運行的程序分配給單個線程(虛擬核心)的過程,而不是允許它與所有 CPU 線程一起運行。設置進程親和性是有利的,因為它將使用戶能夠準確地決定程序使用多少資源。

在本指南中,我們將介紹如何設置 Linux PC 上運行程序的關聯性。我們還將介紹可以將系統資源限制為 Linux 操作系統上的程序的其他方法。

查找您的 CPU 信息

在我們討論如何將單個程序固定到特定線程之前,我們需要了解您的 Linux 系統上有多少可用線程。有幾種方法可以找到這些信息。我們將介紹兩種方式。

找出 CPU 線程數的第一種方法是使用nproc命令。此命令給出可供 Linux 系統使用的原始處理器數量。

要運行nproc命令來確定您有多少可用線程,您必須打開一個終端窗口。要打開一個終端窗口,按按Ctrl + Alt + T或按Ctrl + Shift + T鍵盤上。

打開終端窗口,執行nproc。

如何在 Linux 上設置進程關聯

進程

運行命令後你會注意到;提示中出現一個數字。該數字是 Linux 系統的線程(虛擬內核)數。要保存此信息供以後使用,請執行以下操作。

nproc >> ~/cpu-count.txt

如果nproc命令對您來說沒有足夠的信息,那麼有一個更好的命令行工具可以提供有關您的 CPU 線程的更多信息。它被稱為 CPU 信息。這是安裝方法。

首先,確保您打開了一個終端窗口。然後,在下面輸入與您使用的 Linux 操作系統相對應的安裝命令。

Ubuntu

在 Ubuntu Linux 上,您將能夠使用下面的Apt包管理器命令安裝 CPU 信息。

sudo apt 安裝 cpuinfo

Debian

Debian Linux 上的用戶可以使用以下Apt-get命令啟動並運行 CPU 信息。

sudo apt-get install cpuinfo

拱形Linux

Arch Linux 可以在終端窗口中使用以下Pacman命令輕鬆地在 Linux 上安裝 CPU 信息工具。

須藤 pacman -S python-py-cpuinfo

軟呢帽

你在使用 Fedora Linux 嗎?通過在終端中執行以下Dnf命令來獲取 CPU 信息。

須藤 dnf 安裝 python3-cpuinfo

OpenSUSE

OpenSUSE Linux 用戶?使用下面的Zypper命令啟動並運行 CPU 信息。

須藤 zypper 安裝 python3-py-cpuinfo

在您的 Linux PC 上設置 CPU 信息程序後,就可以使用它來查找 CPU 信息,以便我們可以準確確定有多少線程可以使用。

使用下面的cpu-info命令,獲取 CPU 的讀數。

注意:如果在 Arch Linux、Fedora 或 OpenSUSE Linux 上,您可能需要運行cpuinfo而不是cpu-info。

如何在 Linux 上設置進程關聯

中央處理器信息

運行該命令後,您將看到核心計數和邏輯計數。邏輯計數是您必須使用的線程數。就本指南而言,邏輯信息是最重要的。通過運行以下命令,隨意將 CPU 信息保存到文本文件中。

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

如何在 Linux 上設置進程關聯

要在 Linux PC 上設置進程關聯,您需要使用內置程序 Taskset。通過按鍵盤上的 Ctrl + Alt + T或Ctrl + Shift + T打開終端窗口。然後,從那裡開始,按照下面的分步說明學習如何仿射正在運行的進程。

Step 1:通過執行pidof找到正在運行的程序的進程ID,然後是應用程序的名稱。例如,要查找 Thunderbird 的進程 ID,您可以運行下面的示例命令。

如何在 Linux 上設置進程關聯

pidof 雷鳥

第 2 步:記下應用程序的進程 ID。然後,將其插入以下任務集命令示例中。

注意:您必須將 thread_number 更改為您希望將程序置於其上的 CPU 線程。您還必須將 process_id 更改為通過pidof找到的您希望與taskset仿射的進程 ID  。

須藤任務集 -cp thread_number process_id &

需要檢查您新關聯的程序嗎?針對程序的進程 ID運行taskset -p以確認它正在您在步驟 2 中指定的 CPU 線程上運行。

任務集 -p process_id

了解有關任務集的更多信息

要了解有關 Taskset 的更多信息,您需要閱讀手冊。執行man taskset命令。

如何在 Linux 上設置進程關聯

人工任務集

運行man taskset命令將為您提供有關 Taskset 應用程序的詳細手冊。查看它,因為它會幫助您了解應用程序的工作原理。完成後,按q退出。

留下評論

如何在不破壞依賴關係的情況下將 Debian 12 遷移到 Testing 版本

如何在不破壞依賴關係的情況下將 Debian 12 遷移到 Testing 版本

將 Debian 12 Bookworm 系統移轉到 Debian Testing,減少依賴項的意外情況。了解支援的 Bookworm 到 Trixie 遷移路徑、APT 檢查、模擬和復原保障措施。

如何將 SLES 15 機器註冊到 SUSE Manager Offline

如何將 SLES 15 機器註冊到 SUSE Manager Offline

使用同步通道、引導儲存庫、啟動金鑰和經過驗證的 Salt 引導工作流程,無需 Internet 存取即可將 SLES 15 註冊到 SUSE Manager。

如何修復 Ubuntu 24.04 系統睡眠後 Wi-Fi 斷開連線的問題

如何修復 Ubuntu 24.04 系統睡眠後 Wi-Fi 斷開連線的問題

解決 Ubuntu 24.04 掛起後 Wi-Fi 斷開的問題:更新、檢查無線電區塊和 NetworkManager、測試省電模式、檢查日誌並驗證修復。

透過調整 ALSA 配置修復 Ubuntu 24.04 中的聲音失真問題

透過調整 ALSA 配置修復 Ubuntu 24.04 中的聲音失真問題

透過診斷 ALSA 設備並安全地調整 WirePlumber 緩衝區、取樣率和直接 ALSA 設置,修復 Ubuntu 24.04 中的劈啪聲、嗡嗡聲和失真聲音。

如何在啟用安全啟動的 SLES 15 上安裝自訂核心模組

如何在啟用安全啟動的 SLES 15 上安裝自訂核心模組

學習如何對自訂 SLES 15 核心模組進行簽名,將其憑證註冊到 MOK,在安全啟動下載入它,驗證結果,以及處理核心更新。

SLES 15 KVM 虛擬化設定與虛擬機器自動啟動指南

SLES 15 KVM 虛擬化設定與虛擬機器自動啟動指南

在 SLES 15 上設定 KVM,配置 libvirt 網路和存儲,建立虛擬機,啟用自動啟動,並在主機重新啟動後驗證可靠啟動。

How to Configure a WireGuard Point-to-Site VPN Server on Debian 12

How to Configure a WireGuard Point-to-Site VPN Server on Debian 12

Configure a WireGuard point-to-site VPN on Debian 12 with wg-quick, IPv4 forwarding, nftables NAT, client profiles, systemd startup, and verification.

如何加固 SLES 15 以符合 STIG 標準:安全的 OpenSCAP 工作流程

如何加固 SLES 15 以符合 STIG 標準:安全的 OpenSCAP 工作流程

在生產推廣之前,根據目前的 DISA STIG 對 SLES 15 進行審核,審查 OpenSCAP 的調查結果,測試補救措施,並記錄例外情況。

如何在 SUSE Linux Enterprise Server 上設定 SAP HANA 記憶體限制

如何在 SUSE Linux Enterprise Server 上設定 SAP HANA 記憶體限制

了解如何在 SUSE Linux Enterprise Server 上設定 SAP HANA 全域和語句記憶體限制,將 HANA 限制與 SUSE MemoryLow 進行比較,並安全地驗證每個變更。

如何安全地設定 Gooroom OS 瀏覽器隔離設定

如何安全地設定 Gooroom OS 瀏覽器隔離設定

了解 Gooroom OS 瀏覽器隔離的工作原理,準備受信任且被封鎖的 URL 策略,協調 GPMS 配置,並驗證您的建置中的設定。