好的,这就是问题所在。在我们的生产环境(ASP.Net)中,我们的服务器拥有大量内存以及大量用户/会话。我的电脑有8场演出,我是唯一的用户。在制作中,我们(很少)获得System.OutOfMemoryException
。
有了这些背景信息,这里有一个问题:是否有可能让CLR认为我只有一个或更少的内存? IIRC,有一个命令行选项来为Java执行此操作。
另一种选择是制作一些非常大的对象来填充内存以模拟低内存条件。但这需要修改程序集,巨大的对象可能会被缓存到磁盘。
建议?还是其他选择?
答案 0 :(得分:4)
模拟较低内存/资源系统的一种方法是创建system virtual machine并分配您希望它具有的特定内存量。 VMWare和MS虚拟机都具有此功能。
除了模拟资源较少的机器之外,VM也是管理测试环境的好方法。
答案 1 :(得分:1)
您的程序是否收到OutOfMemoryException
与计算机上的RAM数量无关。 OutOfMemoryException
表示进程已耗尽虚拟内存,对于每个独立于物理RAM的进程都是相同的
有一些项目会影响流程中的虚拟内存量
最好的猜测是服务器是64位进程,而客户端机器是32