2011年10月11日 星期二

調整『 CPU 核心暫止功能』(CPU Core Parking)

Windows 7/Windows Server 2008 R2支援了一項稱為「CPU 核心暫止」(CPU Core Parking)的功能,這項功能設計原意乃是在一個多核系統下,一旦系統的執行負載量不重時,機器的執行工作只會排定給一部分的 CPU 核心,至於其他核心則設為休眠狀態,以便可以降低用電量與CPU熱度
為了觀察這項核心暫止的功能,您可以執行『資源監視器』(resmon)程式,然後按一下【CPU】索引標籤,藉由右側的CPU折線圖,就可以檢視邏輯CPU的暫止現象,如下圖系統上八個邏輯CPU內就有四個CPU為暫止狀況。
coreparking1

不過在經常大量耗用CPU資源的電腦上,CPU暫止功能可以降低的耗電量實為有限,但又可能降低整體系統效能,所以基於效能的考量,您可以停用這項CPU暫止功能,方法為直接變更登錄資料庫或使用適當的工具。

管理員若基於效能最大化的考量,希望停用這項CPU核心暫止功能,您必需執行下列步驟:

  1. 啟動登錄編輯器 (regedit.exe)。
  2. 利用【編輯—>搜尋】選項,搜尋右側機碼 "0cc5b647-c1df-4637-891a-dec35c318583",整個登錄資料庫內應讓存在數個"0cc5b647-c1df-4637-891a-dec35c318583"機碼,通常您只需要變更位於CurrentControlSet底下的機碼即可。
    searck _key
  3. 請在找到的 "0cc5b647-c1df-4637-891a-dec35c318583"機碼右側,變更ValueMax這個值,這個值表示多核的系統中,多少百分比的核心可以被暫止(Parking),預設值為100,代表系統內的所有核心均可以被暫止,請將此值改為 0,以便讓ValusMin和ValueMax這二個值都為 0,如此一來就沒有任何CPU核心可以被暫止。
    valuemax
    valuemax2
  4. 一旦變更完成,請重新開機以便生效。

若您不喜歡直接更改登錄資料庫,也可以自行到網路上下載適當的工具來加以設定,如下圖的ParkControl工具。

parkcontrol

另一個工具為UnpackCPU.exe,它會先由登錄資料庫找出所有符合的機碼,然後按【Unpack All】來取消CPU核心暫止功能 。

cpuparktool

不過,一旦您停用了核心暫止功能後,將可能提升了CPU的耗電量和熱度,所以這項功能的啟用或停用與否並非適用於所有電腦的情境,使用前需仔細考量或加以測試以便決定取捨。