DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

用visualvm监控远程主机上的java进程


启动参数配置

要监控PoolServer的运行情况,需要在启动时加上以下参数:

"${JAVA_HOME}/bin/java" -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=9090 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -Djava.rmi.server.hostname=10.0.2.47 \ -Dservice_name=godu-3.0 -cp $JARS transfer.PoolServer

系统配置

首先在jstatd所在目录下($JAVA_HOME/bin)新建一个policy文件jstatd.all.policy:

grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.AllPermission;

};

然后运行jstatd:

jstatd -J-Djava.security.policy=jstatd.all.policy

程序启动后没有任何输出,但用jps和netstat -an|grep 1099可以验证jstatd是否启动成功。

参考:用VisualVM远程监控Java进程(此文应该是基于jstatd - Virtual Machine jstat Daemon),注意其中的policy文件的写法,不要把\({java.home}误写成\),因为这不是环境变量。


2013-02-22更新

不运行上述"jstatd -J-D..."情况下连接113服务器失败,运行jstatd命令需要首先安装openjdk6,装完后运行该命令,又用Ctrl+C停止,在jVisualVM中配置远程主机10.31.1.113,在上面右键:添加JMX连接,“连接”项设为10.31.1.113:9090,连接成功后在“抽样器”中首先进行“CPU设置”,仅分析"transfer.*",然后点击"CPU"按钮进行CPU抽样,可以看到各个public方法的执行时间。



Published

Sep 18, 2012

Last Updated

Sep 18, 2012

Category

Tech

Tags

  • Java 106
  • 监控 3
  • visualvm 1

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor