Exchange Server 2003
如何设置 HeapDeCommitFreeBlockThreshold 注册表值
主题上次修改时间: 2005-05-10
在指定地址释放内存时,操作系统的堆管理器将检查围绕此地址存在多少可用连续字节。检查完成后,堆管理器可以执行下列两项操作之一:
  • 提交连续内存块。
  • 回收连续内存块,并只将其标记为保留。
HeapDecommitFreeBlockThreshold 注册表项指定可回收内存的最小连续字节数。默认情况下,堆管理器未必会合并所有可用块或进行新的分配;因此,块可能被回收,但在虚拟地址空间中成为无用的洞。这会导致生成虚拟内存碎片以及性能下降,并最终导致系统不稳定。
在安装有 1 GB 或更多物理内存的系统上,通过控制回收的内存块大小可以优化性能。 HeapDecommitFreeBlockThreshold 注册表项提供了在释放内存时对内存处理方式的控制。将此值添加到注册表时,必须将其配置为十六进制值 0x00040000(十进制值 262144)。
除十六进制值 0x00040000(十进制值 262144)外,Microsoft 不支持 HeapDecommitFreeBlockThreshold 注册表项的其他任何值。此外,只有 Exchange Server 2000 和 Exchange Server 2003 支持使用 HeapDecommitFreeBlockThreshold 注册表项,而且只有在安装了 1 GB 或更多物理内存时,才支持使用该注册表项。在所安装物理内存小于 1 GB 的系统上,或在未运行 Exchange 2000 Server 或 Exchange Server 2003 的系统(不管所安装的物理内存有多大)上,不要使用 HeapDecommitFreeBlockThreshold 注册表项。
在执行本主题中的步骤之前,请注意其中包含有关编辑注册表的信息。
Bb123610.Caution(zh-cn,EXCHG.65).gif警告:
错误地编辑注册表会导致严重的问题,甚至可能需要重新安装操作系统。因注册表编辑不当而导致的问题可能没有办法解决。在编辑注册表之前,请备份所有重要数据。
  1. 打开注册表编辑器,如 Regedit.exe 或 Regedt32.exe。
  2. 导航到 HKLM\System\CurrentControlSet\Control\Session Manager
  3. 用鼠标右键单击“Session Manager” ,再选择“新建” |“DWORD 值”
  4. 将新的 DWORD 值命名为 HeapDecommitFreeBlockThreshold
  5. 双击“HeapDecommitFreeBlockThreshold” 值。
  6. 将“基数” 更改为“十六进制”
  7. 在“数值数据” 字段中,输入 0x00040000
  8. 关闭注册表编辑器,并重新启动 Exchange Server 计算机,以便使更改生效。

0

收藏

rubar_luo

30篇文章,15W+人气,0粉丝