想知道是否有人可以对此有所了解。
我有一个内存占用量很大(和内存流失)的应用程序。没有任何内存泄漏,而且 GC 往往能很好地释放资源。
但是,有时,GC 不会“按时”发生,从而导致内存不足异常。我想知道是否有人可以对此有所了解?
我使用了 REDGate 分析器,它非常好——应用程序具有典型的“锯齿”模式——OOM 发生在锯齿的顶部。不幸的是,无法使用探查器(AFAIK)来识别内存流失的来源。
是否可以设置一个内存“软限制”,应该强制进行 GC?目前,只有在内存达到绝对极限时才会执行 GC,从而导致 OOM。