2010-12-02 96 views
4

好的,这是问题所在。在我们的生产环境(ASP.Net)中,我们的服务器拥有大量的内存以及大量的用户/会话。我的电脑有8个演出,我是唯一的用户。在生产中,我们(很少)获得System.OutOfMemoryException限制.Net CLR内存使用情况

有了这些背景信息,这里有一个问题:是否有可能让CLR认为我只有一个内存或更少的内存? IIRC,有一个命令行选项可以为Java执行此操作。

另一种选择是制作一些真正大的物体来填充内存以模拟低内存条件。但是这需要修改程序集,而巨大的对象可能会缓存到磁盘。

建议?或其他选项?

回答

4

模拟较低内存/资源系统的一种方法是创建一个system virtual machine并分配您希望具有的特定内存量。 VMWare和MS虚拟机都具有此功能。

除了模拟较低资源的机器虚拟机也是管理测试环境的好方法。

+0

这是一个很棒的想法。实际上我已经有一个VirtualBox实例在运行了!我从来没有考虑过这种可能性。你赢了! – Amy 2010-12-03 00:19:30

1

您的程序是否收到OutOfMemoryException与您的机器上有多少RAM无关。 OutOfMemoryException表示进程用完这对于每个过程独立的物理RAM的同一虚拟存储器的

有几个项目的其可影响在过程

  • 32 VS虚拟存储器的量64个处理
  • 开关像/ LARGEADDRESSAWARE(Documentation

最好的猜测是该服务器是一个64位的处理,而在客户端机器32是