内存分配可能失败时有大可用块

文章翻译 文章翻译
文章编号: 216383 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

症状

甚至当有进程的虚拟地址空间内可用的内存的大可用块时,内存分配可能会返回"内存不足"错误。

原因

在进程内的堆分配可能会导致内存管理器不必将扩展以满足该请求中使用虚拟内存堆。 内存管理器扩展了堆分配进程地址空间中的连续虚拟内存。 默认状态下,内存管理器请求双前一成功分配的堆段。 如果失败的段的一个更大堆分配虚拟内存,它不尝试分配一个段前或更小的段的大小。

例如对于如果前一成功分配的堆段是 64 MB,堆管理器将尝试扩展 128 MB 的堆,如果需要扩展堆。 如果没有不 128 MB 的连续虚拟内存、 扩展堆分配将失败并随后将堆分配失败,即使有可能已被另一台 64 MB 空闲块。

解决方案

若要解决此问题,获得最新的 service pack,对于 Windows NT 4.0 或各个软件更新。有关获取最新的 service pack,请访问:
有关获取各个软件更新请与 Microsoft 产品支持服务联系。有关 Microsoft 产品支持服务电话号码和支持成本的信息的完整列表,请访问下面的地址在万维网上:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

状态

Microsoft 已经确认这是在 Microsoft Windows NT 版本 4.0 中的问题。此问题已被首先在 Windows NT 4.0 版中更正 Service Pack 5。

更多信息

Ntdll 已修复,这样如果 Ntdll.dll 不能扩展的第一次尝试"内存不足"错误由于堆,它所请求的虚拟内存的分配大小除以 2,并将继续尝试进行扩展以这种方式堆,直到低于所需 satify 堆分配请求的大小。

属性

文章编号: 216383 - 最后修改: 2013年10月14日 - 修订: 2.6
这篇文章中的信息适用于:
  • Microsoft Windows NT Server 4.0, Terminal Server Edition Service Pack 4
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0 Service Pack 1
  • Microsoft Windows NT 4.0 Service Pack 2
  • Microsoft Windows NT 4.0 Service Pack 3
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Server 4.0 企业版
  • Microsoft Windows NT 4.0 Service Pack 4
关键字:?
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbfix kbqfe KB216383 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 216383
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com