如何在OutOfMemory崩溃之前进行堆转储

沙尼•阿蒂亚斯
2022-12-25 36

堆转储是某个时刻JVM内存中所有对象的快照。它们对于解决Java应用程序中的内存泄漏问题和优化内存使用非常有用。

为了自动捕获堆转储,我们需要添加HeapDumpOnOutOfMemoryError命令行选项,该选项在抛出java.lang.OutOfMemoryError时生成堆转储。

Artifactory版本6.x:

将以下JVM标志添加到Artifactory默认文件中,每个安装类型的文件名和位置不同,请参考我们的wiki页面。设置Java内存参数,以获取安装的正确名称和位置。
要使更改生效,您需要重新启动Artifactory。

- xx: + HeapDumpOnOutOfMemoryError
- xx: HeapDumpPath =/ /路径/ artifactoryheapdump.bin

*记住位置-内存转储的大小可能很大。

Artifactory版本7.x:

将下面的代码片段添加到system.yaml文件。要使更改生效,您需要重新启动Artifactory。

共享:
extraJavaOpts: "-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath= ./ /路径artifactoryheapdump.bin”

*记住位置-内存转储的大小可能很大。