在一个复杂的多线程应用程序中,我可能每周遇到一次内存不足异常。该应用程序正在通过多个套接字发送/读取大量数据,其中读取的数据被缓存以避免网卡缓冲区溢出。
分析内存异常的最佳策略是什么?在正常运行时,应用程序在进程资源管理器中显示为“所有堆中的总字节数”高达 1.5 GB。
有一个正在轮询的线程是否是一种策略
GC.GetTotalMemory()
或者
PrivateMemorySize64()
一秒钟知道什么时候开始分析事物?我还没有研究过商业分析器,我有点担心它们对性能的影响,这也可能在实际问题分析中给出错误的结果。