一、JVisuaIVM简介及安装
有时候我们需要分析java应用的一些内存、gc等情况进行性能分析,就需要一些性能工具,而JVM算是其中一个
1. JVisuaIVM介绍
VisualVM:能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的
对象,反向查看分配的堆栈,从界面上看还是比较简洁的,左边是树形结构,自动显示当前
本机所运行的Java程序,还可以添加远程的JavaVM,其中括号里面的PID指的是进程ID。
OverView界面显示VM启动参数以及该VM对应的一些属性。Monitor界面则是监控Java
堆大小,Permgen大小,Classes和线程数量。
是一个JAVA监控内存泄露,跟踪垃圾回收,执行时内存、CUP分析,线程分析工具
2. JVisualVM安装(简写JVM)
jdk1.8及之前的放在jdk的bin目录下,jdk11版本以后需要自己去官网下载
JVisualVM官网:https://visualvm.github.io/download.html
JVisualVM2.1.8版本网盘:网盘下载
提取码:0000
JVM两个配置文件(catalina.sh和Java.policy):百度网盘
提取码:0000
-
解压安装包
-
. 在ect目录下的visualvm.conf文件配置jdk的安装目录,配置好就可以独立运行了
-
把bin目录下的exe执行文件发送到桌面快捷方式
-
打开JVM,下载必要的插件 Tools–Plugins,如下图
二、远程监控JVisuaIVM远程监控LiunxJMX使用(java应用)
1. 查看界面:Local:连接本地服务,Remote:连接远程服务 Snapshots:快照
2. 连接远程服务,修改文件内的IP地址,catalina.sh , IP更改成自己远程服务器的IP
3. 把改完的文件通过xftp上传到服务器里面:/usr/local/tomcat7-8083/bin目录下进行替换,直接点确定
4. 重启tomcat,使用./d2-start-DsShop-tomcat.sh先关闭,在执行 ./d1-start-DsShop-tomcat.sh启动
5. 查看相关接口是否正常启动和防火墙状态
netstat -tunlp 查看是否正常启动10001和8083端口
systemctl status firewalld 查看是否关闭
6. 使用JVM远程连接
7. 添加JVM连接
8. 双击左侧IP下的JVM,会展示右侧一些Java监控指标:CPU 内存 类 线程,上面title也可切换查看,至此JVM配置完成
三、JVisuaIVM远程监控LinuxJstatd使用(缺陷:没有cpu监控画面)
1. 将提供的文件夹中的java.policy直接复制到都市商城虚拟机的如下路径下,替换之前文件
2. 进入 cd /data/startup/ 执行:vi j-start-jstatd.sh 更改ip地址为自己虚拟机的ip,进行保存
3. 避免连接不上,修改host文件为本机ip
编辑hosts目录:vi /etc/hosts 把127.0.0.1更改为虚拟机ip,然后进行保存