我有一个C#应用程序,我使用Entity Framework来检索许多对象。不幸的是,这是一项要求,可能是此时使用的错误工具。但是,我的应用程序在大约1.2GB的内存使用量下运行到OutOfMemoryException。怎么会这样?我的机器有8GB的RAM。
答案 0 :(得分:0)
听起来像重新设计是必要的。您是否可以将处理分解为更多接触较少数据的步骤,以便每次都加载较小的对象图?
直接解决内存消耗问题:
如果您使用的是64位操作系统,是否正在编译“任何CPU”或“x64”?
如果您运行的是32位操作系统,则您的进程限制为2GB(或3GB,/3GB
boot.ini和/LARGEADDRESSAWARE
。
如果您在64位O / S上运行32位进程,则进程限制为2GB(或/LARGEADDRESSAWARE
时为4GB)。