在复杂的多线程应用程序中,我每周可能会遇到内存不足异常。应用程序通过多个套接字发送/读取海量数据,读取数据缓存以避免网卡缓冲区溢出。
什么是分析内存异常的最佳策略?在正常运行时,应用程序在Process Explorer中显示的大小为“所有堆中的总字节数”高达1.5 G字节。
难道是一个策略,以具有螺纹,其是轮询任C#内存不足异常 - 警告策略
GC.GetTotalMemory()
或
PrivateMemorySize64()
一次第二要知道什么时候开始分析事情?我还没有研究过商业分析器,而且我对它们的性能影响有点担忧,它们可能给实际问题分析带来错误的结果。
您的缓存工作如何?我会研究一下不同的缓存分配策略。 – CodesInChaos 2012-02-01 10:16:53
为了澄清,你知道是什么导致了内存不足异常,并且你正在寻找一种方法来配置应用程序中的缓存,以避免这种情况发生?还是你不知道究竟是什么原因造成的,你想调试问题? – svick 2012-02-01 11:21:52