java - 如何使用 kill -3 <pid> 命令每 30 秒进行一次 java 堆转储

标签 java shell heap-dump

请帮助解决这个问题,我想运行一个 shell 脚本,它应该使用 kill -3 命令每 30 秒进行一次 jave 堆转储。提前致谢。

最佳答案

你试过这么简单的shell脚本吗?

while true
do
  jmap -dump:file=/tmp/java-`date +%s`.hprof PID_OF_JVM
  sleep 30
done

这将为每个快照创建一个文件 pear。对于线程转储,您可以使用类似的脚本:

while true
do
  jstack PID_OF_JVM > stack-`date +%s`.txt
  sleep 30
done

我猜你可以使用 kill -3 而不是 jstack

关于java - 如何使用 kill -3 <pid> 命令每 30 秒进行一次 java 堆转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11669419/

相关文章:

java - JVisualVM "Heap Dump"按钮可以释放内存吗?

java - 关闭捕获全局输入事件的 Hook

java - 如何在Eclipse中浏览Maven目标JAR的内容

linux - 给出一个路径的挂载点

linux - Maven - 无法在 shell 脚本中创建资源输出目录

linux - 确定另一个程序的工作目录

java - 分析远程大型堆转储

java - Centos 64 位和 openjdk 7 上的堆转储错误

javascript - 奇怪的: session variable returns null from a post controller to a jsp page

java - Eclipse 安装新软件