配置visualvm需要注意的问题:
1,JDK的选择问题:
注意安装开发版的jdk
development:这个版本的才有bin和jre
running time 这个版本的只有jre(选择这个版本的会有些命令找不到,如jstatd)
(详见jdk章节)
2,不能开防火墙,否则会地动了也访问不了,全关就是全部允许(或者把要开的端口都开了)
3,自己新建的脚本
#!/bin/shexport 要独立成行不能和内容在一起
#!/bin/shexport
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx512m -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"
4,使用本地的visualvm连接远程:
1,跑起来了后,工具中装插件(一次不行多来几次)
安好那个插件就是有这个功能tab,至于如这个界面又需要什么jar包,再另行在tab中配置,比如jconsole的使用
jtop.jar之后重启,在看tomcat,此时不在提示配置而是提示jmx不能用,换一个用户(controlRole(添加jmx)),之后新加jstatd出现的tomcatjconson可用
不同的插件只能用不同的身份登录看到的插件功能不同
2,jmx连通了也需要装丰富的插件
3,安装好后重启
4,每次重启(visual vm)后jstatd要重新启动,这是监听的端口会变,需要重新在jstatd设置
重新
cd $JAVA_HOME/bin
./jstatd -J-Djava.security.policy=all.policy &
netstat -anp | grep *jstatd
加好jstatd监听后,tomcat自动出来(上述命令执行好后,启动visualvm自动加入jstatd-tomcat)
5,tomcat设置开启oom生成dump(jmap的时候也是生成dump)
开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的, 它可以做为调试程序的参考.
core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump.
gdb -c core文件路径 [应用程序的路径]
进去后输入where回车, 就可以显示程序在哪一行当掉的, 在哪个函数中.
有时候程序down了, 但是core文件却没有生成. core文件的生成跟你当前系统的环境设置有关系, 可以用下面的语句设置一下, 然后再运行程序便成生成core文件.core文件生成的位置一般于运行程序的路径相同, 文件名一般为core.进程号
相关推荐
VisualVM是一款强大的JVM(Java Virtual Machine)监控和性能分析工具,由Oracle公司开发并提供。它集成在Java SDK中,默认位于%JAVA_HOME%\bin目录下,方便开发者直接使用。这款工具提供了丰富的功能,帮助Java...
在使用VisualVM远程监控JVM之前,需要准备好测试环境。我们需要在服务器上配置jstatd守护程序,并在客户端使用VisualVM连接服务器监控Java程序。 ### 2.2 在服务器上配置 jstatd 的 security policy 文件 在服务器...
#### 五、使用VisualVM监控远程主机 完成上述配置后,在本地计算机上启动VisualVM工具,选择“添加远程主机”选项,输入远程服务器的IP地址和之前设置的端口号,即可成功连接远程服务器并监控其上的Java应用程序。 ...
2. **连接远程JVM**:如果需要监控远程Java应用,需要在目标机器上配置JDK的`jvm.options`文件,开启远程监控端口,然后在VisualVM中添加远程主机。 3. **选择分析模块**:根据需求选择合适的分析模块,例如选择...
VisualVM不仅能够监控本地JVM,还可以通过JMX(Java Management Extensions)协议连接远程服务器上的JVM。要设置远程监控,需确保远程JVM启用JMX,并配置了正确的端口和访问权限。在VisualVM中,可以通过“文件”->...
2. **远程监控**:VisualVM支持远程连接,通过JMX或RMI,可以对远程服务器上的Java应用进行监控。 3. **离线分析**:可以导出应用程序的快照,以便在离线环境下进行深度分析。 4. **插件安装**:从VisualVM官网下载...
通过JMX(Java Management Extensions),VisualVM可以连接到远程服务器,监控和管理运行的应用。这使得开发者可以在不中断服务的情况下进行性能调试。 6. **插件系统** VisualVM的一大特色是其丰富的插件系统。...
它不仅可以监控本地运行的Java应用程序,还可以配置后监控远程服务器上的Java应用。 首先,VisualVM可以提供详细的JVM信息,包括运行时内存使用状况、CPU使用率、类加载和卸载信息以及线程状态。利用这些信息,...
- **远程监控**:不仅能够监控本地应用,还能连接并监控远程服务器上的Java应用。 - **适用范围**: - 支持从JDK 1.4以上的Java应用程序。 - 在JDK 6 Update 7及以上版本中,VisualVM已经默认集成在JDK安装包中...
作为一款JVM监控工具,VisualVM可以帮助开发者监控Java应用程序的性能指标,如CPU使用率、内存占用、线程状态等。通过对这些数据的分析,开发者可以找出程序的瓶颈,进行性能优化,提高应用的运行效率。 VisualVM的...
VisualVM不仅可以监控本地运行的应用程序,还能通过Java管理扩展(JMX)技术监控远程运行的应用程序。VisualVM不仅适用于开发者,也适用于系统管理员和Java应用的最终用户,它极大地简化了性能调优和问题诊断的过程...
VisualVM可以连接到MBeans服务器,查看和操作MBeans,从而远程管理Java应用程序,执行配置更改或获取运行时信息。 5. **CPU和内存分析**: VisualVM可以深入到CPU使用率的详细级别,展示每个线程的执行情况,帮助...
VisualVM提供了一个综合视图,用于查看在JVM上运行的Java应用程序的详细信息,包括本地和远程应用。与JConsole类似,VisualVM也可以在JDK的bin目录下启动。VisualVM的一大特点是支持插件,允许用户根据需求安装各种...
6. **远程监控**:除了本地JVM,VisualVM还可以连接到远程服务器上的JVM,这使得在分布式环境中远程诊断成为可能。 7. **插件扩展**:VisualVM支持丰富的插件,例如NetBeans Profiler(用于更深入的性能分析)、JMX...
它还支持远程连接,使得监控远程服务器上的JVM变得轻松。 了解并熟练使用这些工具,开发者可以更有效地诊断和优化Java应用的内存性能,防止常见的内存问题,如内存泄漏、垃圾收集效率低下等。通过实时监控和定期...
在实际使用中,VisualVM可用于监控本地Java应用,如Tomcat服务器。通过其可视化界面,我们可以观察到应用的内存使用、线程状态、JVM参数、CPU使用率和垃圾回收详情。这对于JVM的性能优化非常有帮助。特别是在处理...
本文档“JMX如何使用”深入探讨了如何利用JMX在Java Web环境中进行远程服务器管理与监控。 1. **JMX简介** JMX允许开发者创建和注册管理 Bean(MBeans),这些Bean提供了对应用程序组件的访问接口,从而可以监控和...
通过JMX(Java Management Extensions)接口,VisualVM可以远程监控和管理Java应用程序,获取更多自定义的性能指标,实现更全面的监控。 7. **插件扩展**: VisualVM支持丰富的插件,用户可以根据需求安装不同的...