從 Windows Vista 開始,您可以將 特殊集 區功能設定為核心旗標設定或登錄設定。 如果您將其設定為核心旗標(運行時間)設定,則不需要重新啟動計算機,讓變更生效。 在舊版 Windows 中,特殊集區僅供登錄設定使用。
此外,從 Windows Vista 開始,您可以從命令行設定和設定特殊集區功能。 在舊版 Windows 中,您只能在 [全域旗標] 對話框中設定和設定特殊集區功能。
依集區標記要求特殊集區卷標而不重新啟動
下列命令會針對 具有Tag1 集區標籤的所有配置要求特殊集區。 此設定會立即生效,但如果您關閉或重新啟動 Windows,就會遺失此設定。
此命令會使用 /k 參數來指定核心旗標 (運行時間) 設定和 +spp 縮寫來設定特殊的集區要求。
gflags /k +spp Tag1
Gflags 會藉由列印來回應:
Special Pool set to 0x31676154
PoolTagOverruns set to 0x1
Current Running Kernel Settings are: 00000000
請注意,特殊集區配置要求不是核心旗標設定,也不會反映在核心設定值中。
此外,特殊集區配置要求不會改變特殊集區設定中超限 (0x1) 或不足 (0x0) 的值。 若要將預設值從滿溢變更為不足,請使用 [Gflags] 對話框。 如需詳細資訊,請參閱 偵測溢位和欠位。
您無法在命令列顯示集區標籤。 若要確認集區標籤是核心設定,請使用 [Gflags] 對話框。
在註冊表中依集區標籤請求特殊集區
下列命令會針對 具有Tag1 集區標籤的所有配置要求特殊集區。 因為此設定會儲存在登錄中,所以您必須重新啟動計算機,使其生效,但在您變更它之前仍有效。
此命令會使用 /r 參數來指定登錄設定,並使用 +spp 縮寫來設定特殊的集區要求。
gflags /r +spp Tag1
Gflags 會藉由列印來回應:
Special Pool set to 0x31676154
PoolTagOverruns set to 0x1
Current Boot Registry Settings are: 00000000
請注意,特殊集區配置要求不是登錄旗標設定,而且不會反映在登錄設定值中。
此外,特殊集區配置要求不會變更特殊集區的超支 (0x1) 或不足 (0x0) 設定的值。 若要將預設值從溢位更改為欠位,請使用 Gflags 對話框。 如需詳細資訊,請參閱 偵測滿溢和不足。
若要確認值已新增至登錄,請使用 Reg 或 Regedit 在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management 機碼中顯示 PoolTag 項目的值。
例如:
c:>reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -v PoolTag
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
PoolTag REG_DWORD 0x31676154
在不重新啟動的情況下,依大小要求特別的集區
下列命令會要求在 x86 計算機上配置 1 到 8 個字節的特殊集區,其PAGE_SIZE為 0x1000,配置粒度為 8 個字節。
此命令會使用 /k 參數來指定核心旗標 (運行時間) 設定和 +spp 縮寫來設定特殊的集區要求。 大小值前面加上 0x,表示它是大小,而不是集區標記。
此值 0x10 是通過將配置粒度(8 字節)加到範圍中最大大小(8 字節)來計算,總計為 16 字節(0x10)。 如需判斷輸入正確值的說明,請參閱 特殊集區中的「選取配置大小」。
gflags /k +spp 0x10
Gflags 會藉由列印來回應:
Special Pool set to 0x10
PoolTagOverruns set to 0x1
Current Running Kernel Settings are: 00000000
同樣地,特殊集區配置要求不是核心旗標設定,也不會反映在核心設定值中。
此外,特殊集區配置要求不會變更特殊集區的超支 (0x1) 或不足 (0x0) 設定的值。 若要將預設狀態從溢出變更為不足,請使用 [Gflags] 對話框。 如需詳細資訊,請參閱 偵測溢出和欠載。
在註冊表中按大小請求特殊集區
下列命令會要求在 x64 電腦上分配大小為 1024 到 1040 位元組的特殊池,PAGE_SIZE 為 0x1000,分配粒度為 16 個位元組。
此命令會使用 /r 參數來指定全系統登錄設定和 +spp 縮寫來設定特殊的集區要求。 大小值前面加上 0x,表示它是大小,而不是集區標記。
值 0x420,是透過將配置粒度(16 個字節)與範圍內最大大小(1040 個字節)相加,計算出總計 1056 個字節(0x420)。 如需協助判斷輸入值是否正確,請參閱 特殊池中的「選取配置大小」。
gflags /r +spp 0x420
Gflags 會藉由列印來回應:
Special Pool set to 0x420
PoolTagOverruns set to 0x1
Current Boot Registry Settings are: 00000000
同樣地,特殊集區配置要求不是登錄旗標設定,也不會反映在登錄設定值中。
此外,特殊集區配置要求不會變更特殊集區的超支 (0x1) 或不足 (0x0) 設定的值。 若要將預設的滿溢模式變更為不足模式,請使用 [Gflags] 對話框。 如需詳細資訊,請參閱 偵測溢位和下溢。
若要確認值已新增至登錄,請使用 Reg 或 Regedit 在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management 機碼中顯示 PoolTag 項目的值。
例如:
c:>reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -v PoolTag
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
PoolTag REG_DWORD 0x420
取消特殊集區要求
下列命令會取消特殊集區作為核心旗標 (運行時間) 設定的要求。 命令對於集區標籤或大小的要求是相同的。
gflags /k -spp
下列命令會取消特殊集區作為登錄設定的要求。 根據集區標籤或大小提出的要求,命令依然相同。
gflags /r -spp
當命令成功時,Gflags 會藉由列印來回應:
Special Pool value has been deleted.