C# SetProcessWorkingSetSize用于大量工作集内存

C# SetProcessWorkingSetSize用于大量工作集内存,c#,memory-management,memory-leaks,process,working-set,C#,Memory Management,Memory Leaks,Process,Working Set,与私有内存的大小相比,我的C#应用程序的工作集很大。专用字节为20 MB,工作集大小为160 MB。由于工作集太大,提交费用越来越高,当超过特定百分比时,应用程序崩溃 建议使用SetProcessWorkingSetSize限制应用程序的工作集大小吗?这会减少工作集的大小吗?当工作集超过SetProcessWorkingSetSize中指定的数量时会发生什么情况?我为输入错误道歉。如果您喜欢原始版本,您当然有权回滚我的更改。如果这两个错误困扰了你,但你对其余的更改感到满意,你也可以修改帖子。不用

与私有内存的大小相比,我的C#应用程序的工作集很大。专用字节为20 MB,工作集大小为160 MB。由于工作集太大,提交费用越来越高,当超过特定百分比时,应用程序崩溃


建议使用
SetProcessWorkingSetSize
限制应用程序的工作集大小吗?这会减少工作集的大小吗?当工作集超过
SetProcessWorkingSetSize
中指定的数量时会发生什么情况?

我为输入错误道歉。如果您喜欢原始版本,您当然有权回滚我的更改。如果这两个错误困扰了你,但你对其余的更改感到满意,你也可以修改帖子。不用担心。你能回答这个问题吗。这是紧急情况。至于你的问题,不,我不建议缩小工作集的大小。提交费用包括驻留在RAM中的页面以及被分页到磁盘的页面。如果你的问题确实是因为提交费用太高,你将无法修复你的问题。当应用程序崩溃时,你会收到什么错误消息或异常<代码>系统。OutOfMemoryException?您能在调试时复制它吗?是的,我得到System.OutOfMemoryException,Gen2堆中的对象太多了。我如何克服这个问题?请给我一些建议。