減少(shao)緩(huan)存失效(Cache Miss)
CPU 核心的高速緩存(L1/L2/L3 Cache)會存儲近期訪問的數據。若進程在不同核心間遷移,新核心的緩存中可能沒有該進程的數據,需重新從內存讀取,導致性能下降。
類(lei)比:如同員工頻繁換工位,每次換位置都要重新找文件,效率降低。
避免上下(xia)文切換(huan)開銷
進程在不同核心間遷移時,操作系統需保存和恢復其運行狀態(如寄存器值、內存地址空間等),產生額外的 CPU 開銷。
數(shu)據:一次上下文切換的開銷約為幾微秒,高并發場景下頻繁切換會顯著影響性能。
優(you)化內存局部性(Memory Locality)
在 NUMA(非統一內存訪問)架構中,CPU 核心訪問本地內存的速度遠快于跨節點內存。綁定 CPU 可減少跨節點內存訪問,提升數據讀取效率。
硬親和(he)性(Hard Affinity)
定義:強制將進程(cheng) / 線程(cheng)綁定到指定 CPU 核心,操作系(xi)統(tong)不會主動遷移(yi)。
應(ying)用場(chang)景:對實時性要求極高(gao)(gao)的任(ren)務(wu)(如(ru)工業控制、高(gao)(gao)頻(pin)交易(yi)系統),任(ren)務(wu)始終在(zai)固(gu)定核心(xin)運(yun)行,避免延遲(chi)波(bo)動。
軟親和(he)性(Soft Affinity)
定義(yi):建議操作(zuo)系統(tong)優先將(jiang)進程(cheng) / 線程(cheng)調度(du)到指(zhi)定 CPU 核心,但(dan)在負載均衡等場(chang)景下仍可能遷(qian)移。
應用場景:普(pu)通服務(wu)器業(ye)務(wu)(如 Web 服務(wu)、數據(ju)庫),在(zai)..一定性能的同時,允許(xu)系統動(dong)態調整(zheng)以平衡負載(zai)。
服務器高(gao)并發優化(hua)
虛(xu)擬化(hua)與容器環境
數據(ju)庫(ku)與大數據(ju)計算
實時(shi)性任務(wu)(如音視頻處(chu)理(li))
Linux 系(xi)統(tong)
Windows 系統
虛擬化平臺(tai)
避免負(fu)載(zai)不均衡(heng)
NUMA 架構下的優化
動態場景(jing)的權衡
監控(kong)與調優
CPU 親和性是(shi)服務器(qi)性能優(you)化的(de)重要手段,通(tong)過 “進(jin)程(cheng)與 CPU 核心的(de)綁定” 減少調度開銷和緩(huan)存失效(xiao),尤其適用于高并發、實時性或 NUMA 架構(gou)的(de)場景。合理使用該技術可顯著提升系統穩定性和資源(yuan)利用率,但(dan)需結合業(ye)務特點避(bi)免(mian)過度綁定導致的(de)負載(zai)失衡。
(聲明(ming):本文(wen)來源于網絡,僅供參(can)考(kao)閱讀,涉(she)及(ji)侵權請聯(lian)系我(wo)們刪(shan)除、不(bu)代表(biao)任何立場(chang)以及(ji)觀點。)