gpt4 book ai didi

c# - 虚拟和物理内存/OutOfMemoryException

转载 作者:行者123 更新时间:2023-11-30 19:32:53 26 4
gpt4 key购买 nike

我正在开发一个 64 位 .Net Windows 服务应用程序,该应用程序本质上加载了一堆数据以供处理。在执行数据量测试时,我们能够压倒该进程并抛出 OutOfMemoryException(我没有关于该进程失败时的任何性能统计信息。)我很难相信该进程请求了一 block 内存,这将自进程在 64 位计算机上运行以来,已超出该进程允许的地址空间。我确实知道该进程正在一台始终处于 80%-90% 物理内存使用率附近的机器上运行。我的问题是:如果机器的可用物理内存严重不足,即使进程不会超过允许的虚拟内存量,CLR 是否可以抛出 OutOfMemoryException?

感谢您的帮助!

最佳答案

在 64 位环境中仍然存在一些可达到的限制。检查this page对于一些最常见的。简而言之,是的,如果您的程序将高达 128GB 的​​数据加载到虚拟内存中,您仍然可能会耗尽内存。如果您没有设置 IMAGE_FILE_LARGE_ADDRESS_AWARE 环境变量,您仍然可能会受到每个进程最大 2GB 的限制。

关于c# - 虚拟和物理内存/OutOfMemoryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4681961/

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