.net应用抛出内存异常

本文关键字:内存 异常 应用 net | 更新日期: 2023-09-27 18:06:18

我有两个windows server 2003有8GB和16GB RAM。

在服务器上运行测试程序时,当测试程序的堆大小达到738Mb时,所有服务器都会抛出OutOfMemory Exception。

我有搜索,windows服务器将只使用60%的2Gb用户内存地址,它可能是1.2Gb。

,
1. 哪个机器目标决定最大内存?
2. 为什么8Gb和16Gb的服务器表现出相同的性能?
3.一些文档说1.2Gb(大约)取决于私有字节或工作集或虚拟字节或堆大小?

.net应用抛出内存异常

我不确定我理解了您所有的问题,但我建议您阅读这篇文章。一些要点:

为进程保留的数据存储量仅受操作系统可以在磁盘上获得的空间量的限制。(*)

"内存不足"错误几乎不会发生,因为没有足够的可用存储;正如我们所看到的,存储就是磁盘空间,而如今磁盘是巨大的。相反,发生"内存不足"错误是因为进程无法在其虚拟地址空间中找到足够大的连续未使用页面来进行请求的映射。

应该很清楚为什么"内存不足"错误通常与您拥有多少物理内存或甚至有多少可用存储无关。这几乎总是与地址空间有关,在32位Windows上,地址空间相对较小,很容易被分割。