jvisualvm链接远程应用,线程监控,性能分析

刚刚接触分布式架构,才知道功能开发是多么得小儿科,大部分的问题都是出在性能瓶颈上,这时,咱们须要及时的跟踪接口的服务调用链路,线程的使用状况,JVM堆栈的状况,进而分析,致使系统变慢的缘由。java

今天给你们介绍一款能够链接远程服务器,对线程进行监控的JVM工具jvisualvm。首先,须要在咱们远程的服务器配置好java环境等(废话,远程跑着程序怎么能没配置好java环境),在有了java环境以后,作什么事情内心都踏实了,接下来,就说一下我是怎么成功的运用jvisualvm工具连接上咱们远程的服务器的;linux

1.在服务器是安装jstatd 组件;    直接执行 sudo apt-get install openjdk-6-jdk   便可;安全

2.在服务器上配置 jstatd 的 security policy 文件,    jstatd是一个监控 JVM 从建立到销毁过程当中资源占用状况并提供远程监控接口的 RMI ( Remote Method Invocation ,远程方法调用)服务器程序,它是一个 Daemon 程序,要保证远程监控软件链接到本地的话须要 jstatd 始终保持运行。服务器

jstatd运行须要经过 -J-Djava.security.policy=*** 指定安全策略,所以咱们须要在服务器上创建一个指定安全策略的文件jstatd.all.policy ,能够在linux下的任何目录下建立该文件,不要纠结~  我是在根目录建立的。 文件内容以下:架构

grant codebase "file:${java.home}/../lib/tools.jar" {分布式

permission java.security.AllPermission;工具

};性能

${java.home}根据本身linux下的实际jdk路径灵活替换,不要无脑粘贴哦线程

3.修改服务器 hosts 文件中的 IP 地址code

要使Java VisualVM 成功链接到远程服务器上,服务器端应该在 /etc/hosts 文件中把本机地址设为本机的 IP 地址。使用 hostname -i 命令查看,若是显示的是 127.0.0.1 或者与本机实际 IP 不一致的话,须要把 /etc/hosts 文件中相应的地址改成本机实际 IP 。

4.启动jstatd守护线程

sudo setsid /lhdata/tool/jdk1.8.0_172/bin/jstatd -J-Djava.security.policy=jstatd.all.policy -p 3099 -J-Djava.rmi.server.logCalls=true &

-p 3099表示将端口改成3099,默承认能是1099,第一次启动jstatd就没加-p 3099,致使启动失败,应该是线程被占据,因此遇到一样问题的童鞋能够用这种方法解决;

5.经过Java VisualVM 链接到服务器监控 Java 程序

打开cmd命令弹窗,输入**jvisualvm命令,**回车~VisualVM工具就会被打开,如图,颜值还行,目测用着应该能挺方便

打开工具后,连接刚才配置好的远程服务器,接下来的操做就是看图说话了,若是搞不懂,能够为本身的将来作个打算了(我就没搞出来,😂)

好了,我要为本身的将来作一个打算了~

相关文章
相关标签/搜索