目的:
为了检查一个经常会跑死的java程序,在网上查询了下, 觉得jconsole这个工具还不错,所以就部署了一把
一、服务器端部署
首先在服务器端,启动你要监控的java程序,我的启动脚本如下:
/home/admin/basics/jdk1.8.0_112/bin/java -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.managent.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dserver.port=2823 -Xms512m -Xmx512m -Xmn256m -XX:PermSize=128m -Xss1m -jar /home/admin/project/other_project/nh-websocket/nh-websocket.jar
- 本地程序(相对于开启JConsole的计算机),无需设置任何参数就可以被本地开启的JConsole连接(Java SE 6开始无需设置,之前还是需要设置运行时参数 -Dcom.sun.management.jmxremote )
- 无认证连接 (下面的设置表示:连接的端口为8999、无需认证就可以被连接)
启动时会提示需要jmxremote.password这个文件,新建就可以了 chmod 0400 chmod +w,设置一下权限
- -Dcom.sun.management.jmxremote.port=8999 \
- -Dcom.sun.management.jmxremote.authenticate=false \
- -Dcom.sun.management.jmxremote.ssl=false
二、客户端操作
我在本机安装了jdk1.8 32位版本
直接运行jconsole.exe即可