java.lang.OutOfMemoryError:交换空间不足:使用GC日志进行分析

java.lang.OutOfMemoryError:交换空间不足:使用GC日志进行分析,java,memory-management,memory-leaks,garbage-collection,out-of-memory,Java,Memory Management,Memory Leaks,Garbage Collection,Out Of Memory,我得到 java.lang.OutOfMemoryError:为Chunk::new请求1136136字节。交换空间不足 内部错误(allocation.cpp:272),pid=16889,tid=150817680错误:Chunk::new 在GC日志中: 990.772:[GC 990.772:[ParNew:172602K->15442K(176960K),0.0488380秒]493872K->340757K(2601792K),0.0492530秒][次:user=0.18 sys=

我得到

java.lang.OutOfMemoryError:为Chunk::new请求1136136字节。交换空间不足

内部错误(allocation.cpp:272),pid=16889,tid=150817680错误:Chunk::new

在GC日志中:

990.772:[GC 990.772:[ParNew:172602K->15442K(176960K),0.0488380秒]493872K->340757K(2601792K),0.0492530秒][次:user=0.18 sys=0.05,real=0.05秒]

29074.961:[GC 29074.961:[ParNew:176960K->19648K(176960K),0.0442200秒]1022856K->872041K(2601792K),0.0445530秒][次:user=0.24 sys=0.01,real=0.05秒]

493872K
最高可达
1022856K

我的Mem选项包括:

“-Xmx2560m-Xms2560m-XX:NewSize=192m-XX:MaxNewSize=192m-XX:+UseTLAB-XX:MaxPermSize=64m”


请帮助检查RAM中有多少可用/可用空间。您的内存参数很可能超过了可用RAM空间。适当减少内存配置

如果持续增加,则肯定是内存泄漏

  • 采取堆转储-
    jmap-dump:format=b,file=cheap.bin
  • 在(免费试用)或
  • 找到堆中最大的对象-这将是您的漏洞:)

  • @Narendra:493872K的可能副本达到1022856K。这是预期的!!是的,如果应用程序使用了大量内存,则可能会发生这种情况。应用程序没有提供请求的交换空间,因此outofmemory@Narendra:它正在不断增加。这是否是内存泄漏的嫌疑。@VJS:尝试下面的建议:最近我找到了关于所有oom问题的简短教程