使用jconsole工具来监控java运行情况

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jconsole工具来监控java运行情况相关的知识,希望对你有一定的参考价值。

 
经验证OK
 
jconsole是jdk自带的工具。所以要先安装jdk
 

1.jconsole工具的路径:

通过which jconsole来查看
/usr/local/jdk1.7.0_79/bin/jconsole
 
2.使用方式:
在linux监控端的图形界面执行:/usr/local/jdk1.7.0_79/bin/jconsole 将出现图形化java监控和管理控制台。
技术分享
技术分享
 
3.执行后出现JConsole新建连接,有两个选择:
1.本地进程(可以监控本机的java)
——》org.apache.catalina.startup.Bootstartup start
 
2.远程进程(用于监控其他主机的java)
——》填写需要被监控的主机名:监控端口,输入监控专用的用户名/密码(可选)
 
步骤1:需在被监控的主机上修改catalina.sh配置文件:
vi /opt/tomcat/conf/catalina.sh
如不需密码验证,则在第二行开始添加下面3行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
保存退出 //“12345”为监控端口号
技术分享
 
如需密码验证,则改为下面4行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file=/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password"
保存退出
技术分享
 
步骤2:将/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template复制一份:
 
cp /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template \
/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password
 
步骤3:添加用于远程监控的用户名和密码:
vi jmxremote.password //用于添加用户名和密码
monitorRole 12345678 //用户名:monitorRole,这个名字系统是预先设置好的
admin 123456 //自定义了用户名:admin
root 123456 //自定义了用户名:root
强制保存退出
 
vi jmxremote.access //自定义监控的用户名具有哪些权限
添加:
admin readonly //定义只读帐号,名字任意
root readwrite \ //定义读写帐号,名字任意
create javax.management.monitor.*,javax.management.timer.* \
保存退出
技术分享
 
 
chmod 600 jmxremote.password
chown uucp:uucp jmxremote.password //先用ls -l /usr/local/jdk1.7.0_79看看是属于哪个用户和组,再设置成相同的。
技术分享
 
注:如果JConsole不能访问本机的程序的话,添加如下内容:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
 
好了,可以连接了:
输入要被监控的主机名cen01,端口:12345,
技术分享技术分享
 
技术分享技术分享

以上是关于使用jconsole工具来监控java运行情况的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Java虚拟机——可视化监控工具(Jconsole)线程死锁监控示例

深入理解Java虚拟机——可视化监控工具(Jconsole)线程死锁监控示例

JVM监控及诊断工具之JConsole以及Visual VM

用JDK自带的监控工具jconsole来监控程序运行

JVM 监控工具——jconsole

JVM