gpt4 book ai didi

java - 将 JVM 堆转储写入标准输出

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:32 25 4
gpt4 key购买 nike

我们使用以下 JVM 标志在 Docker 中运行 Spring Boot 应用程序(由 Kubernetes 管理)

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -XX:+ExitOnOutofMemoryError 

正如预期的那样,容器在 OOM 异常时重新启动。但是,由于容器已重新启动,退出时创建的堆转储(在 /tmp 中)不再可用。虽然我们可以映射持久卷,但有没有办法可以将堆转储写入 STDOUT(因为我们已经从 STDOUT 收集日志)?使用 -XX:HeapDumpPath=/dev/stdout 结果为

*

Dumping heap to /dev/stdout ...
Unable to create /dev/stdout: File exists

*

我在这里缺少一个简单的解决方法吗?

最佳答案

就我个人而言,我会使用 Docker Volume要安装在 Docker 镜像中并存储内存转储,如前所述,内存转储可能有 GB 大。

关于java - 将 JVM 堆转储写入标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48808099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com