heap-dump - 在使用 JRE 8 java 运行的 java 进程上使用 JDK 7 中的工具
问题描述
需要在 Window 服务器上生成正在运行的 Java 进程的线程和堆转储。我们在服务器上有 JDK 7,但 Java 进程使用 JRE 8 中的 java 运行。在服务器上安装 JDK 8 需要时间,因为它需要大量的文书工作(公司进程)。将要执行此操作的团队坚持认为,他们需要 Azul 的 JDK 8 来生成转储,因为当前的 Java 进程使用 Zulu JRE 8。由于只有他们知道的原因,他们甚至不想尝试使用 JDK 7 提供的工具( OpenJDK?)安装在服务器上。这些版本真的重要吗?
问题:我可以使用任何版本的 JDK 工具(特别是 JDK 7)生成从 Zulu JRE 8 环境运行的 Java 进程的堆和线程转储吗?
解决方案
答案似乎是肯定的。
我刚刚在我的 Mac 上尝试过,可以在 Zulu 8 的运行实例上使用 Zulu 7 版本的 jstack 和 jmap 生成线程转储和堆转储。这表明 jstack/jmap 不受 JVM 版本号的困扰(而且似乎也兼容)。
当然,从许可的角度来看,在其他版本的 Zulu(如 8)上使用 Zulu 7 构建的工具没有问题。
推荐阅读
- javascript - 突出显示 html 原始文本中的特定文本
- typescript - Reflect.Decorate 不是函数
- python - 美丽的汤提取物循环
- java - Java Reactor中阻塞调用后如何重新抛出错误?
- javascript - 在锚标记触摸加载新网页之前运行屏幕触摸事件
- node.js - mongodb插入对象数组
- android - Viewpager 视图出现并在几分之一秒后显示为空白
- python - 用于 apache 部署的 Django 静态目录
- python - Scraper 只打印最后一页数据而不是所有页面 - BS4
- javascript - 如何在 JSON 数组中推送多个键值