gpt4 book ai didi

debugging - ERROR_NOT_ENOUGH_MEMORY 故障排除

转载 作者:行者123 更新时间:2023-12-04 17:28:52 25 4
gpt4 key购买 nike

我们的应用程序在一个特定用户的计算机上失败了 ERROR_NOT_ENOUGH_MEMORY (“没有足够的存储空间来处理此命令”)。

该错误显然是在我们正在使用的 Delphi VCL 框架的某个深处引发的,所以我不确定哪个 Windows API 函数是负责的。

内存有问题吗? 调用 GlobalMemoryStatus 提供以下信息:

  • dwTotalPhys - 1063150000 (~1 GB)
  • dwAvailPhys - 26735000 (~27 MB)
  • dwAvailPage - 1489000000 (~1.4 GB)

  • 当分页文件中有这么多可用空间时,Windows 会让可用物理内存变得如此之低,这对我来说似乎很奇怪,但我对 Windows 的虚拟内存管理知之甚少,无法知道这是否正常。是吗?

    如果不是内存,那么正在达到哪个资源限制? 从我在网上看到的, ERROR_NOT_ENOUGH_MEMORY可能是应用程序达到几个限制(GDI 对象、用户对象、句柄等)中的任何一个的结果,不一定是内存。是否有 Windows 强制执行的限制的完整列表?有什么方法可以找出正在达到哪个限制?我试过谷歌,但我找不到任何系统的概述。

    最佳答案

    比您列出的任何错误更常见的原因是虚拟内存空间的碎片。在这种情况下,虽然总可用内存相当合理,但可用空间被当前分配的虚拟内存空间的各个位碎片化。因此,当单个连续块无法满足内存请求时,尽管总空闲量足够,您可能会遇到内存不足错误。

    关于debugging - ERROR_NOT_ENOUGH_MEMORY 故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1454736/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com