java - 获取正在运行的 JVM 的参数

标签 java jvm

有没有办法获取正在运行的JVM的参数?

有没有像 jstat 这样的命令行工具,它把 PID 作为输入JVM 并返回其起始参数?我对启动 JVM 时给出的 -Xmx-Xms 值特别感兴趣。

为了澄清我对 JVM 的限制,我们想检查它是否在生产服务器上运行。这就是为什么我们更喜欢最小的干扰。我们能够使用 jstat 监控 JVM,因此我们希望有一个类似的简单解决方案来访问参数。

我们还尝试使用 jvisualvm 获取参数。但是为了连接到远程 jvm,我们需要运行 jstatd 并修改 JVM 的安全设置,我们发现这在生产服务器上非常具有破坏性和风险。

最佳答案

你可以像这样使用 jps:

jps -lvm

它会打印如下内容:

4050 com.intellij.idea.Main -Xms128m -Xmx512m -XX:MaxPermSize=250m -ea -Xbootclasspath/a:../lib/boot.jar -Djb.restart.code=88
4667 sun.tools.jps.Jps -lvm -Dapplication.home=/opt/java/jdk1.6.0_22 -Xms8m

关于java - 获取正在运行的 JVM 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317152/

相关文章:

java - Java反射API中的反射方法是什么?

java - 如何告诉 Spring Boot 哪个主类用于可执行 jar?

java - 甲骨文乘十嵌入到一个java应用程序中

Java 字符串文字自动解释为 String 对象,但是如何呢?

crash - 在PC = 0x0000000000090000处使用SIGSEGV(0xb)导致JVM崩溃

java - JVM 内存默认值

java - 如何测量 Spring Web 应用程序中的组件启动时间?

java - 我可以阻止 java.util.logging 导致内存泄漏吗?

java - beanName 不能为空

java - 终结器如何与分代 GC 交互?