Java 使用的堆在半秒内从150Mb增长到2Gb

Java 使用的堆在半秒内从150Mb增长到2Gb,java,out-of-memory,heap,heap-memory,Java,Out Of Memory,Heap,Heap Memory,大家好, 正如你所看到的,我有一个奇怪的使用堆尖峰,永远不会回到正常水平。在图中,使用的堆在0.27秒内从100Mb增长到706Mb。我们试图给Tomcat提供更多的内存,但问题依然存在,只是现在使用的堆内存从150Mb增加到1.7Gb。 我们正在以我们知道的方式监视情况,但是内存监视器和各种日志都不能为我们提供解决方案。 你有什么提示吗 谢谢,, Marco您是否有内存不足错误?如果不是,这不是问题。许多东西都利用缓存,并将占用尽可能多的内存来提高性能。因此,除非您遇到内存不足的错误或GC抖动

大家好, 正如你所看到的,我有一个奇怪的使用堆尖峰,永远不会回到正常水平。在图中,使用的堆在0.27秒内从100Mb增长到706Mb。我们试图给Tomcat提供更多的内存,但问题依然存在,只是现在使用的堆内存从150Mb增加到1.7Gb。 我们正在以我们知道的方式监视情况,但是内存监视器和各种日志都不能为我们提供解决方案。 你有什么提示吗

谢谢,,
Marco

您是否有内存不足错误?如果不是,这不是问题。许多东西都利用缓存,并将占用尽可能多的内存来提高性能。因此,除非您遇到内存不足的错误或GC抖动,否则这不值得担心。

进行堆转储,看看是什么占用了空间……我们有两个东西,一个字符串和一个字符[],它们占用了大量空间,但我如何确定它们的实例化位置呢?问题是我们会遇到一些内存不足的异常,无论如何,GC会停止清理内存(即使我们向他发送了一个执行此操作的信号)。