Noa*_*oah 8 c# garbage-collection memory-management windows-7
我有一个用C#编写的应用程序运行良好,但偶尔在现场会出现错误,我们认为这些错误是由于内存条件不足或与垃圾收集器的交互造成的.
如果有人感兴趣,这里描述:
无法将'NHibernate.Impl.ExpandedQueryExpression'类型的对象强制转换为'NHibernate.Linq.NhLinqExpression'
我想尝试重现这个以进行调试,但我的开发机器有太多内存.
我删除了页面文件,因此我的虚拟内存仅限于12GB的物理内存,所以除了物理删除ram之外,是否有人对如何在开发环境中模拟低内存条件有任何建议?
编辑:
删除询问有关监视垃圾收集器的工具?
您可以使用虚拟机(VPC,VMWare或Virtual Box)并调低内存.
这比bug更可靠.
编辑
此建议是一种模拟具有较少物理内存的PC的方法.正如评论和其他答案中所述,如果您希望调低虚拟内存"正在消失",那么在流程开始时堆将是一个解决方案.