Java堆转储位置,unix命令行

时间:2016-11-07 15:12:23

标签: java unix garbage-collection heap-dump

我遇到的问题是我的heapdump超过2gb甚至3gb甚至是某些情况,现在的问题是堆转储是在一个位置(/ home)中创建的,大约1gb只有在1gb之后heapdump服务器死锁(没有其他进程可以运行) 我只是想改变Heapdump的位置。

我在unix服务器上运行我的代码,并且增加/ home目录的大小不是一个选项。 我尝试过使用-XX:HeapDumpPath但它无法正常工作。 请帮帮我。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

JAVA_OPTS="$JAVA_OPTS -Xdump:heap:label=/dumps/heapdump.%Y%m%d.%H%M%S.%pid.%seq.phd" 
JAVA_OPTS="$JAVA_OPTS -Xdump:java:label=/dumps/javacore.%Y%m%d.%H%M%S.%pid.%seq.txt" 
JAVA_OPTS="$JAVA_OPTS -Xdump:system:label=/dumps/core.%Y%m%d.%H%M%S.%pid.%seq.dmp" 
JAVA_OPTS="$JAVA_OPTS -Xdump:snap:label=/dumps/Snap.%Y%m%d.%H%M%S.%pid.%seq.trc" 
(Optional) JAVA_OPTS="$JAVA_OPTS -Xdump:what" 

您可以更改JAVA_OPTS env变量或从运行代码的位置添加单个-Xdump cmds。 比如 java -d64 -Xdump:heap:label=/${INFA_ROOT}/temp/heapdump.%Y%m%d.%H%M%S.%pid.%seq.phd -Xmx4g ...rest of the arrgs.