You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Tanuki Wrapper设置OutOfMemoryError触发的DUMP文件存储路径

解决Tanuki Wrapper OOM Dump文件路径指定问题

你遇到的核心问题是:Tanuki Wrapper的DUMP触发机制和JVM原生的堆转储逻辑是独立的,所以你配置的-XX:HeapDumpPath参数对Wrapper触发的DUMP动作完全不生效——毕竟你已经通过wrapper.filter.action.1=DUMP,RESTART让Wrapper接管了OOM时的处理流程,和JVM自带的-XX:HeapDumpOnOutOfMemoryError没关系。

下面给你两种直接可行的解决方案:

方案一:在Action指令中直接指定Dump路径

修改你的过滤动作配置,把目标路径直接追加到DUMP指令后面,格式如下:

wrapper.filter.trigger.1=java.lang.OutOfMemoryError
wrapper.filter.action.1=DUMP,C:/test1/java_pid{PID}.hprof,RESTART

这里的{PID}是Tanuki Wrapper的内置占位符,会自动替换为当前Java进程的ID,最终生成类似java_pid1234.hprof的文件,直接存储到C:/test1目录下。

方案二:全局配置Dump默认存储目录

如果希望所有Wrapper触发的DUMP文件都统一存到指定分区,可以添加全局配置项,原Action配置保持简洁:

# 设置全局Dump文件存储目录
wrapper.dump.path=C:/test1
# 原OOM触发和动作配置不变
wrapper.filter.trigger.1=java.lang.OutOfMemoryError
wrapper.filter.action.1=DUMP,RESTART

配置后,Wrapper会自动在C:/test1目录下生成以java_pid{PID}.hprof命名的堆转储文件。

关键注意事项

  • 确保C:/test1目录已经提前创建,并且Wrapper运行的系统用户拥有该目录的写入权限,否则可能出现Dump文件生成失败的情况。
  • 建议在测试环境模拟OOM场景(比如写个循环创建大对象的简单程序)验证配置,避免线上突发问题时才发现配置未生效。

内容的提问来源于stack exchange,提问作者izocan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:11:46