共用方式為


範例 14:設定特殊集區

從 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.