Java语言的优势是跨平台,号称
一次编译,随处运行
我们的编写环境有Windows,MacOS,还有ubuntu;而我们的生产环境有ubuntu,centos或者Windows server。
在如此错综复杂的jdk环境下,如何对Java程序监控和调优?
事实上,网络上有很多开源的自动化运维工具来监控整个平台的运行,但是为了方便开发人员监控自己的模块,我们可以使用jdk自带的工具来进行Java程序的监控和调优。
CentOS配置jstatd监控
jstatd是jdk自带的一个监控工具。配置在使用它的时候,需要配置一个jstatd.all.policy文件,具体内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
这里面的配置内容是 不变的,目的就是启动工具包,对我们的Java环境进行监控。
启动jstatd监控
jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=your_ip &
your_ip是你服务器的外网地址。
jstatd的默认端口是1099,不要忘记开放防火墙的对应端口。
客户端的连接(Windows)
定位到本地jdk安装目录的bin文件中,打开jvisualvm.exe
添加我们的远程主机,如图:

按照弹出的窗口信息,输入远程ip地址便可以连接上了。
下面是开启tomcat的连接示意图:

在这上面,你可以监控堆,类和线程,如果你想监控CPU,需要去做jmx通信配置。
文章评论