一、 JVM 资源监控工具
1. jvisualVM工具
VisualVM 提供了一个可视界面,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象;在JDK_HOME/bin目录下,双击jvisualvm.exe文件即可打开运行。打开后默认会监控本地运行的java程序,运行的界面如下:
2. 连接远程服务器,需要在被监控JVM服务器上启动jstatd服务
JVM jstat Daemon:守护进程,一个RMI(Remote Method Invocation)服务器程序,用于监控本地所有JVM从创建开始直到销毁整个过程中的资源使用情况,同时提供接口给监控工具(如这里的VisualVM),让工具能连接到本机所有的JVM。该命令在 jdk的bin目录下
1). 首先要创建安全策略文件
创建一个文件 jstatd-all.policy ,存放到一个目录,比如放到/u01/apps/目录下(名称和存放位置可随意),该文件内容为:
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission;};
注意:服务器记得配置JAVA_HOME 环境变量
2). 启动 jstatd server
首先确定你的jvisualvm客户端能够通过这个ip访问到服务器,然后在被监控的服务器 上面,执行如下命令:
jstatd -J-Djava.security.policy=/u01/apps/jstatd-all.policy -J-Djava.rmi.server.hostname=192.168.xxx.xxx (被监控机器的ip地址)
默认端口 1099
3). 在jvisualvm客户端,添加远程主机
4). 对应的远程主机节点下会自动列出所有运行的JVM ,监控显示如下: