网上已经有很多这方面的资料,但有些很杂乱,这里做了整理总结。
一.Java VisualVM 概述
对于使用命令行远程监控jvm
太麻烦
。
在jdk1.6
中
Oracle
提供了一个新的可视化的。
JVM
监控工具
Java VisualVM
。
jvisualvm.exe
在JDK
的
bin
目录下。
双击启动
Java VisualVM
后可以看到窗口左侧
“应用程序
”栏中有“
本地
”、“远程
”
、“快照
”三个项目。
“本地
”下显示的是在
localhost
运行的
Java
程序的资源占用情况,如果本地有
Java
程序在运行的话启动
Java VisualVM
即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的
CPU
、
Heap
、
PermGen
、类、线程的 统计信息。
“远程”
项下列出的远程主机上的
Java
程序的资源占用情况,但需要在远程主机上运行
jstatd
守护程序
VisualVM分为
3
类,
本地
它会自动侦测到,并显示出来
双击Local
下的任一节点,看到右边的变化
,你可以监控
CPU
,内存,类,线程等运行状况,实时监控服务器性能。
右键
VisualVM我们可以看到
Thread Dump, Heap Dump
做
Thread Dump
很快,马上就可以看到结果
Heap Dump要稍花费一些时间(可以看到当前
heap
里对象的数量及占用的比例,做
OOM
很好用)
对其功能不再做描述,可以查阅网上相关质量,我们主要讲的是如何使用
VisualVM
远程监控。
二.使用visualvm 远程监控 JVM
1.
测试环境
Ubuntu Server 10.01
2.
在服务器上安装
jstatd
组件
使用apt-get
命令安装
openjdk
即可
:
sudo apt-get install openjdk-6-jdk
3.
在服务器上配置
jstatd
的
security policy
文件
jstatd是一个监控
JVM
从创建到销毁过程中资源占用情况并提供远程监控接口的
RMI
(
Remote Method Invocation
,远程方法调用)服务器程序,它是一个
Daemon
程序,要保证远程监控软件连接到本地的话需要
jstatd
始终保持运行。
jstatd运行需要通过
-J-Djava.security.policy=***
指定安全策略,因此我们需要在服务器上建立一个指定安全策略的文件
jstatd.all.policy
,文件内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
4.
修改服务器
hosts
文件中的
IP
地址
要使Java VisualVM
成功连接到远程服务器上,服务器端应该在
/etc/hosts
文件中把本机地址设为本机的
IP
地址。使用
hostname -i
命令查看,如果显示的是
127.0.0.1
或者与本机实际
IP
不一致的话,需要把
/etc/hosts
文件中相应的地址改为本机实际
IP
。
5.
运行
jstatd
守护程序
由于
jstatd
需要保持一直运行,所以建议使用
screen
命令执行
jstatd
程序,命令如下:
screen jstatd -J-Djava.security.policy=jstatd.all.policy
如果需要RMI
日志功能的话,还可以在启动参数中加入
-J-Djava.rmi.server.logCalls=true
。
screen jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true
jstatd开始运行后,使用
CTRL+A+D
断开
screen
界面,回到
shell
界面。如果想切换回
jstatd
运行界面的话,使用
screen -r -d
命令即可。
6.
通过Java VisualVM
连接到服务器监控
Java
程序
在Java VisualVM
程序窗口左侧
“
远程
”
项目右键选择
“
添加远程主机
”
,在弹出的对话框中输入远程主机的
IP
地址,确认提交后即可看到相应的远程主机和在上面运行的
Java
程序,连接成功后应该会显示
Jstatd
及其
PID
。
通过以上方式连接服务器发现一个问题,不能监控CPU
。提示我们建立
JMX
,建立
JMX
提示要求端口号。(
JMX:
Java Management Extensions
,即
Java
管理扩展
,
是一个为应用程序、设备、系统等植入管理功能的框架。
JMX
可以跨越一系列异构操作系统平台、系统体系结构和 网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用
。而
Visual VM是通过
JMX
来和远程
Java
应用联系的
)。
7.
T
omcat中配置
下面我们为54
服务器的
tomcat
配置
jvm
启动参数。
在
tomcat
的
catalina.sh
中添加如下参数:
JAVA_OPTS='-Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'
或:
JAVA_OPTS=’-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.54 其他配置’
注:1.
-Dcom.sun.management.jmxremote.port
:这个是配置远程
connection
的端口号的,要确定这个端口没有被占用
2.
-Dcom.sun.management.jmxremote.ssl=false 指定了
JMX
是否启用
ssl
3.
-Dcom.sun.management.jmxremote.authenticate=false
指定了JMX
是否启用鉴权(需要用户名,密码鉴权)
2,3两个是固定配置,是
JMX
的远程服务权限的
4.
-Djava.rmi.server.hostname
:这个是配置
server
的
IP
的
连接成功,现在我们可以远程监控服务器性能,可以配合
jmeter
进行了一个长时间的加压,在加压过程中重点关注了系统资源的使用情况。
三.参考博客
http://mahuihuang.blog.163.com/blog/static/745292520113202321494/
http://wolfdream.iteye.com/blog/1032712
http://sjsky.iteye.com/blog/705323
- 大小: 31.5 KB
- 大小: 46.6 KB
- 大小: 50 KB
- 大小: 45.7 KB
- 大小: 10.6 KB
- 大小: 42.1 KB
- 大小: 51.9 KB
- 大小: 38.8 KB
- 大小: 40.8 KB
- 大小: 31.6 KB
- 大小: 47.2 KB
- 大小: 44.6 KB
分享到:
相关推荐
jvisualvm 是一个功能强大且功能丰富的 Java 监控和 profiling 工具,它可以远程访问和监控 Java 应用程序,包括 Tomcat 应用服务器。下面将详细介绍如何使用 jvisualvm 远程访问 Linux 环境中的 Tomcat。 jdk 的...
本篇文章将深入探讨Tomcat的启动参数配置和监控参数设置,以及如何利用jVisualVM工具来监控Tomcat的运行状态。 一、Tomcat启动参数配置 1. **基本启动参数**: - `-D<name>=<value>`:定义系统属性,例如`-Djava....
本篇文章将详细介绍如何使用Zabbix监控Tomcat,特别是通过JMX(Java Management Extensions)来监控Tomcat,并涉及到相关的jar包和Zabbix模板。 首先,让我们了解一下`cmdline-jmx`和`catalina-jmx`这两个标签所指...
在使用VisualVM远程监控JVM之前,需要准备好测试环境。我们需要在服务器上配置jstatd守护程序,并在客户端使用VisualVM连接服务器监控Java程序。 ### 2.2 在服务器上配置 jstatd 的 security policy 文件 在服务器...
为了实现远程监控,你需要开启JVM的远程调试端口。这可以通过设置JVM参数 `-Dcom.sun.management.jmxremote`、`-Dcom.sun.management.jmxremote.port`、`-Dcom.sun.management.jmxremote.authenticate` 和 `-Dcom....
为了远程监控Tomcat服务器上的应用,需要对Tomcat进行配置以启用JMX支持。具体步骤如下: 1. **配置catalina.sh**:在Tomcat的`catalina.sh`配置文件中加入以下行: ```sh JAVA_OPTS="$JAVA_OPTS -Djava.rmi....
- JMX(Java Management Extensions)可以远程监控Tomcat的运行状态。 9. **与其他应用服务器集成**: - Tomcat可以作为独立服务器,也可以与Spring Boot、EJB容器(如JBoss、WebLogic)等结合使用。 10. **故障...
9. **监控和故障排查**:使用JMX(Java Management Extensions)可以远程监控Tomcat的状态。`jconsole`或`jvisualvm`等工具可以帮助分析Tomcat的性能和内存状况。 10. **故障恢复**:如果遇到问题,如启动失败,应...
- **JMX远程监控**:通过JMX协议远程监控和管理应用程序。 #### 使用步骤详解 1. **启动jvisualvm**:首先,打开jvisualvm工具,可以通过双击`jvisualvm.exe`文件来启动该工具。 2. **配置Tomcat**:为了实现对...
- 使用JMX(Java Management Extensions)进行远程监控和管理。 10. **社区支持**: - Apache Tomcat拥有庞大的开发者社区,提供丰富的文档、教程和问题解答资源。 总之,Apache Tomcat 10.0.4作为一个强大的...
- Tomcat提供JMX(Java Management Extensions)接口用于远程监控服务器状态。 - 日志文件通常位于"logs"目录下,包括catalina.out和各个主机的日志文件。 7. **优化与性能**: - 根据服务器负载调整"conf/...
使用 VisualVM 工具进行 Tomcat 性能调优和性能监控 本文主要介绍了如何使用 VisualVM 工具来进行 Tomcat 的性能调优和性能监控。下面将详细介绍相关知识点: 一、JDK 内存优化 在 Tomcat 中,默认的堆大小为 128...
- JMX(Java Management Extensions)允许远程管理和监控Tomcat。 以上知识点只是冰山一角,Tomcat的使用和调优是一个持续学习的过程,开发者需要根据具体需求和环境进行适当的配置和调整。持续关注Tomcat的官方...
通过JMX,开发者可以构建管理工具,以实现远程监控、配置、故障检测和性能优化。 【压缩包子文件的文件名称列表】:“jmx_server”:这可能是一个包含与JMX服务器相关的配置文件、示例代码、库或者文档的文件,用于...
同时,JDK的JMX(Java Management Extensions)功能也可以用来远程监控和管理Tomcat服务器。 总结来说,JDK 1.8和Tomcat 8.0的组合是构建和运行Java Web应用程序的标准配置。JDK 1.8的特性提升了开发体验,而Tomcat...
- 使用JVM调优工具(如JVisualVM)监控和调整内存设置。 9. **日志和错误排查**: - 查看`logs`目录下的日志文件,如`catalina.out`,用于诊断问题。 - 使用`catalina.sh`或`catalina.bat`的`debug`选项启动...
此外,对于监控和优化,你可以使用JMX(Java Management Extensions)来远程管理和监控Tomcat的状态,或者利用JVisualVM(包含在JDK中)进行性能分析。同时,使用像JMeter这样的工具进行压力测试,可以帮助你评估...
- 通过`jmxremote`配置,可以使用JMX(Java Management Extensions)远程监控Tomcat状态。 9. **故障排查** - 查看`logs`目录下的日志文件,如`catalina.out`,有助于定位和解决问题。 - 使用JVisualVM或其他...
- Tomcat提供了丰富的监控功能,如JMX(Java Management Extensions)接口,可以用于远程监控服务器状态。 - 日志文件位于`logs`目录下,开发者可以根据需求调整日志级别和格式。 8. **更新与升级**: - 为了...