b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

VisualStudio:2G内存溢出的解决方案及操作方法解析

电脑杂谈  发布时间:2021-02-23 22:01:15  来源:网络整理

1问题描述

目前,该公司的许多程序都需要以32位模式运行,并且某些项目的相关系统容易出现内存溢出问题,并且系统在使用过程中不稳定。通过分析可以得出结论,默认情况下,32个程序的内存地址空间仅为2G。除了存储程序数据外,2G内存还需要存储程序本身。根据经验,一旦程序使用了超过1G的内存,它将不稳定。

2解决方案2. 1解决方案1:流程拆分

将程序的内存消耗功能拆分为单独的进程。该方法当前正在各种项目的开发中使用。但是有时会出现无法拆分功能的问题(例如数据浏览),或者拆分后,长时间使用主进程或发生内存溢出。因此,此解决方案不能完全解决此内存溢出问题。

2. 2方案2:突破2G限制

通过打开/ la​​rgeaddress知道,突破了每个进程2G的限制(理论上最大4G虚拟地址空间)。

2. 2. 1如何操作

具体操作方法:

方法1:在命令行上依次执行以下命令行

cd C:\ Program Files(x8 6) \ Microsoft Visual Studio 1 1. 0 \ VC \ bin

vcvars3 2. bat

editbin /largeaddressawrexx.exe

方法2:在VS中设置以下命令行(以VS2012为例)-> Generate Event-> Post-Generate Event命令行:

调用“%VS110COMNTOOLS%.. \ tools \ vsvars3 2. bat”

editbin / largeaddressaware $(TargetPath)

描述:方法一需要在每次编译后执行相关命令;方法二在VS编译后自动完成相关的设置操作,易于使用。

2. 2. 2测试程序

以下是编写测试程序的示例:

测试程序:通过编写以下程序在exe中分配大量内存,并将错误信息输出到日志来进行测试

静态void Main(string [] args)

{

尝试

{

int计数= 100000000;

列表lst = newList(count);

for(int i = 0; i

{

lst.Add(new int [1000000]);

}

}

捕获(异常除外)

{

LogHelper.Error.Append(ex);

}

}

win1032位内存限制_32位程序内存限制_win764位内存限制

1)未突破2G限制的日志信息如下:

19:33:07:849

System.OutOfMemoryException:引发了类型为“ System.OutOfMemoryException”的异常。

19:33:07:855

当前专用的内部大小:1. 69 GB

当前虚拟内存大小:1. 94 GB

最大虚拟内存量:1. 94 GB

物理内存总大小:4 GB

可用的物理内存大小:4 GB

虚拟内存总大小:2 GB

可用的虚拟内存大小:6 2. 31 MB

交换空间总大小:4 GB

可用交换空间大小:4 GB

2)打破4G限制的日志信息如下:

19:33:45:371

System.OutOfMemoryException:引发了类型为“ System.OutOfMemoryException”的异常。

19:33:45:377

win764位内存限制_32位程序内存限制_win1032位内存限制

当前专用的内部大小:3. 59 GB

当前虚拟内存大小:3. 9 GB

最大虚拟内存量:3. 91 GB

物理内存总大小:4 GB

可用的物理内存大小:4 GB

虚拟内存总大小:4 GB

可用的虚拟内存大小:10 5. 38 MB

交换空间总大小:4 GB

可用交换空间大小:4 GB

2. 3结论

总而言之,通过方案1和方案2的组合,可以完美地解决32位程序的内存溢出问题(当然,如果该程序占用的内存达到3G或更多,这仍然很容易导致问题,那么您需要从程序本身进行优化)。

3参考资料

32位程序在win764位系统上申请4GB内存的方法:

一个进程可以分配的最大内存是多少?是什么决定了这一点? :

c#程序内存分配:

在C#.Net下使用大内存处理x86:

C#打开大地址内存以处理32位计算机的内存不足的问题:

在C#.Net下使用大内存处理x86:

研究C#对象占用的内存大小以及计数和容量之间的差异:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-360142-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...