Cpu
全域設置 CPU 親和性
有沒有辦法讓所有程序,除了我故意設置
taskset
或numactl
僅使用某些核心/記憶體的程序(不循環每個程序的每個執行緒並自己設置)?更多細節:我有 2 個物理 CPU 晶片,每個都有 4 個核心/8 個執行緒以及總共 256 GB RAM。記憶體在兩條 CPU 記憶體匯流排之間分佈不均。我希望記憶體顯著減少的那個是通用的,大多數程序(例如後台任務)在該 CPU 上執行並帶有它的記憶體。然後在具有大部分記憶體的 CPU 上執行特殊任務,我將對其速度進行計時,並希望它們沒有 CPU 爭用、NUMA 或類似的東西。
這可以通過修改 systemd 配置來實現。首先,
/etc/systemd/system.conf
通過添加以下內容更改預設關聯設置:[Manager] CPUAffinity=1
然後,在您的單位下,清除關聯,然後將其重置為您想要的 CPU
[Exec] CPUAffinity= CPUAffinity=2-4