JDK版本必须为 : 1.6以上
测试成功的系统为 本机windws7 服务器:centos 6.2(服务器JDK一定要小于或等于你本机JDK版本)
首先:
# hostname -i 查看是否本机IP
如果是127.0.0.1 或其他,需要修改 /etc/hosts 文件将hostname绑定的IP设置为你的本机的IP
如: 192.168.16.116 yourhostname
yourhostname 是在 /etc/sysconfig/network 文件设置的主机名称
如: hostname = XXXX
1 使用jstat 远程监控
在远程服务器(如ip:192.168.16.116) /home/lbe/ 目录下新建文件 jstatd.java.policy
内容:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
保存后使用命令 jstatd -J-Djava.security.policy=/home/test/jstatd.java.policy -J-Djava.rmi.server.logCalls=true 启动jstatd
本机到JDK目录下运行 jvisualvm , 远程连接新建连接 192.168.16.116,确定后可见运行在服务器JVM实例
2使用JMX连接(可监控CPU)
远程服务器JVM参数中添加
如Tomcat 在 catalina.sh里添加
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1100 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.16.169"
本机到JDK目录下运行 jvisualvm , 新建远程连接 192.168.16.116
安装JvisualVM 插件 ,选择自己需要的插件, 便于我们更准确分析问题
如 : 点击 工具(Tools) ---> 插件(Plugins) --->新窗口中选择 可用插件 --->勾选 Visual GC , 点击 安装
(重新开启JvisualVM,验证安装)
ok , 下面来通过JvisualVM 监控我们的程序
图片1:查看JVM配置
图片2 CPU 堆 ,类 以及线程(可以再此处 dump heap ):
图片3 PerGen:
图片4 CPU抽样, 此处可以看方法CPU占用情况
图片 5 内存profile
图片 6 安装插件Visual GC 图表
出现OOM时 , 通过在JVM中设置参数 :
- 大小: 48.5 KB
- 大小: 78.7 KB
- 大小: 12.6 KB
- 大小: 129.2 KB
- 大小: 103.6 KB
- 大小: 52.8 KB
分享到:
相关推荐
《使用jvisualvm进行JVM监控与调优详解》 在Java开发中,JVM(Java Virtual Machine)的性能监控和调优是至关重要的环节,它直接影响到应用程序的运行效率和稳定性。jvisualvm,作为Oracle JDK自带的一款强大的性能...
在使用VisualVM远程监控JVM之前,需要准备好测试环境。我们需要在服务器上配置jstatd守护程序,并在客户端使用VisualVM连接服务器监控Java程序。 ### 2.2 在服务器上配置 jstatd 的 security policy 文件 在服务器...
通过以上步骤,开发者可以利用VisualVM有效地管理和监控JVM,及时发现并解决性能问题,提高Java应用的稳定性和效率。无论是本地还是远程,VisualVM都是一个强大且易用的JVM工具,值得在日常开发和调优工作中使用。
jvisualvm是一款功能更全面的JVM监控工具,它不仅能够监控JVM的状态,还可以进行垃圾回收管理、线程分析等功能。jvisualvm的界面友好,非常适合进行深入的性能分析工作。 **使用步骤:** 1. **启动jvisualvm**:...
《jvisualvm(java线程监控)使用手册》是Java开发者必备的工具指南,它提供了对Java应用程序进行性能分析和诊断的强大功能。以下是对该手册中关键知识点的详细解读: 1. **VisualVM介绍** VisualVM是Oracle JDK自带...
通过对以上知识点的掌握,开发者能够有效地监控JVM的运行状态,及时发现和解决问题,从而提升Java应用的性能和稳定性。在实际工作中,应结合具体应用和硬件环境,不断实践和优化,以达到最佳的JVM运行效果。
作为NetBeans的一个子项目,JVisualVM自JDK 1.8起就已经被集成到标准发行版中,这意味着用户无需额外安装即可使用它来监控和诊断各种Java应用。 #### JVisualVM的主要功能: - **监控线程**:能够实时显示应用中的...
JVM自带了一些工具,可以帮助我们监控内存使用、网络状况以及其它关键性能数据。下面将详细讨论这些知识点。 1. **JVM监控工具** - **jconsole**:Java可视化监控工具,可以显示JVM的内存、线程、类装载、Garbage ...
这使得开发者在远程或本地环境下,都能够实时监控JVM运行状况,确保系统的稳定运行。 **使用说明** 使用JTop.jar时,通常需要将它放到VisualVM或JConsole的插件目录下。重启工具后,插件会自动加载。在VisualVM中...
3. 指令集:JVM使用一套基于栈的指令集,这些指令对应于字节码,如`aload`用于加载引用到操作数栈,`iadd`用于执行整数加法等。 4. 执行引擎:解释器负责逐条解释执行字节码,而即时编译器(JIT)会将热点代码编译...
为了优化和调试Java应用,监控JVM的状态至关重要。"java虚拟机监控"就是这样一个过程,通过收集和分析JVM的各项指标,我们可以识别性能瓶颈,预防内存泄漏,以及确保应用的稳定运行。 "jvisualvm"是一款强大的工具...
- **监控工具使用**:利用VisualVM、JConsole等工具监控JVM运行时状态。 **3.2 线程调优** - **线程池配置**:合理配置线程池的大小可以避免过多线程的创建和销毁带来的性能开销。 - **死锁检测**:通过JVM内置的...
7. **tools**:这个目录包含了与JVM相关的工具,例如JConsole、JVisualVM等,用于监控和分析JVM的性能,进行内存诊断和线程分析。 8. **include**:包含了头文件,这些文件用于C/C++编程,以便于直接调用JVM的本地...
通过JVM自带的jvisualvm工具,可以远程连接并监控JVM的实时状态,包括检测死锁。jvisualvm是一个功能强大的Java监控和故障排查工具,它能够提供图形界面来执行JVM的各项监控和调优操作。文档中给出了配置JMX端口的...
2. JConsole:同样是JDK自带的工具,提供GUI界面,可监控JVM的性能和诊断问题。 3. VisualVM:一个强大的多平台JVM监控工具,包含JVisualVM的大部分功能,并提供更详细的性能分析。 4. "jvm-monitor-master":此...
- JVisualVM、jconsole、jmap、jstack等工具的使用,用于分析内存、CPU、线程状态等。 9. **JIT编译器**: - JVM在运行过程中,将频繁执行的热点代码编译成机器码,提高执行效率。 10. **异常处理**: - JVM...
1. JMX(Java Management Extensions):提供管理和监控JVM的工具,可以查看运行时的内存、线程、类装载情况等。 2. jstat:命令行工具,用于收集JVM的各种统计信息,如垃圾收集、类装载、内存使用等。 3. ...
4. **JVM监控工具**:使用JVisualVM、JProfiler等工具监控内存、CPU、线程状态,定位性能瓶颈。 5. **代码优化**:减少对象创建,避免内存泄漏,使用StringBuilder而非String进行字符串拼接。 四、Oracle性能监控与...