【问题标题】:Access JVM properties from command line从命令行访问 JVM 属性
【发布时间】:2011-06-30 09:15:41
【问题描述】:

我有一些 JBoss 5.1.0 实例在 RHEL5 上的 JDK1.6 上运行。我想从他们的虚拟机访问 heap/permgen/etc 信息。

JBoss 配置没有在 JVM 上显式启用 JMX,以便使用 JConsole/JVisualVM 进行远程访问。

我可以通过 Twiddle 访问与 JBoss 相关的信息,如果我在这台机器上有一个 GUI,我将能够通过运行 JConsole/JVisualVM 来访问这些信息(JDK 1.6 允许在应用程序完成后连接这些客户端已启动,即使没有 com.sun.management 选项)。

有没有办法在不重新启动这些虚拟机的情况下访问这些信息?

我可以设想的方法是:

  • 使用 Twiddle 通过 JBoss 的 JMX 控制台访问此信息 - 如果可能,我应该传递什么来查找信息?
  • 使用命令行客户端以与 JConsole 相同的方式连接到正在运行的 JDK。我知道 cmdline-jmxclient 但我不知道它是否能够做到这一点。

【问题讨论】:

    标签: jmx jboss5.x jdk1.6


    【解决方案1】:

    解决方法是使用jstat:

    jstat -gccapacity -t 4994 5s
    

    此行每 5 秒打印一次垃圾收集器容量信息,以及进程 4994 的时间戳。

    您需要是正确的用户才能访问虚拟机,所以对我来说上面的命令必须运行sudo -u jboss jstat ...

    关于the documentation page 的更多信息。

    【讨论】:

      猜你喜欢
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      • 2013-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多