我遇到的问题是我的heapdump超过2gb甚至3gb甚至是某些情况,现在的问题是堆转储是在一个位置(/ home)中创建的,大约1gb只有在1gb之后heapdump服务器死锁(没有其他进程可以运行) 我只是想改变Heapdump的位置。
我在unix服务器上运行我的代码,并且增加/ home目录的大小不是一个选项。 我尝试过使用-XX:HeapDumpPath但它无法正常工作。 请帮帮我。
答案 0 :(得分:0)
你应该根据http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#DebuggingOptions使用-XX:HeapDumpPath ='你的位置'
答案 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.