启动参数配置
要监控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方法的执行时间。