CPU 集合

CPU 集合提供 API,以與 OS 電源管理相容的「軟式」方式宣告應用程式親和性。 此外,API 可讓應用程式能夠使用 進程預設 機制將進程中的所有背景執行緒重新關聯至處理器子集,以避免來自進程內 OS 執行緒的干擾。 某些版本的Windows支援核心保留原則,其中系統 CPU 集合的子集可以專門用於個別應用程式和工作負載的獨佔用途。

CPU 集合 API 適用于與虛擬處理器親和性相關聯的 CPU 集合識別碼。 在大部分的系統上,而且在大部分情況下,每個 CPU 集合識別碼都會直接對應到單一 家用 邏輯處理器。 給定 CPU 集合的執行緒親和性通常會在其所選 CPU 集識別碼清單中的其中一個處理器上執行。

保留的 CPU 集合可藉由檢查SYSTEM_CPU_SET_INFORMATION中的 [已配置 ] 旗標來判斷。 系統會使用SYSTEM_CPU_SET_INFORMATION結構的 AllocatedToTargetProcess 旗標來查詢保留 CPU 集合和指派的存取權。 如果進程嘗試使用專門配置給其他進程的 CPU 集合指派,則會忽略其要求,並將指派給不允許 CPU 集合的執行緒排程到其他地方。 CPU 集合可以在兩個層級指派。 進程預設 CPU 集合會指派給進程中沒有線程選取層級指派的所有線程。 如果執行緒或進程已設定限制性親和性遮罩,則親和性遮罩會高於任何衝突的 CPU 集合指派。 在多群組系統上,如果 CPU 指派位於不符合執行緒親和性遮罩中群組的群組中,則會忽略 CPU 指派。 如果執行緒指派給多個有效的 CPU 集合,它會根據其優先順序以及這些處理器上競爭執行緒的優先順序,在其中一個對應的處理器上執行。

CPU 集合函式/列舉/結構