使用visualVM 1.3.8(visualvm_138-ml.zip) 监控远程Tomcat运行情况
2016-07-11 14:35
441 查看
服务端CentOS6.4 x64安装的是jdk1.7 下载visualVM1.3.8-ml 也就是多语言版本,包含中文,界面用起来方便。官方下载地址比较慢,百度上搜索的都是csdn,51cto等必须登录才能下载的地址,我把我下载的visualvm_138-ml.zip 传上来,我也是在美帝的服务器上下载后,又从美帝的服务器上拖到本地的,比官方地址快多了。
visualVM1.3.8-ml下载地址(失效请告诉我):http://pan.baidu.com/s/1i59AiHJ
下载后,在远程服务器进行操作:
0x00环境检查(此部分转载自<我实在是比较懒>:http://josh-persistence.iteye.com/blog/2233459 有部分修改):
a、在服务器上配置jstatd的securitypolicy文件
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;
};
b. 修改服务器 hosts 文件中的 IP 地址
要使Java VisualVM 成功连接到远程服务器上,服务器端应该在 /etc/hosts 文件中把本机地址设为本机的 IP 地址。使用 hostname -i 命令查看,如果显示的是 127.0.0.1 或者与本机实际 IP 不一致的话,需要把 /etc/hosts 文件中相应的地址改为本机实际 IP 。
c. 运行 jstatd 守护程序
由于 jstatd 需要保持一直运行,所以建议使用 screen 命令执行 jstatd 程序,命令如下:
nohup jstatd -J-Djava.security.policy=jstatd.all.policy &>/home/dz/jstatd.log &
运行完毕查一下进程在不在:
ps -ef | grep jstatd
返回:
root 11679 1736 0 14:07 pts/1 00:00:12 jstatd -J-Djava.security.policy=jstatd.all.policy
root 12310 1736 0 14:32 pts/1 00:00:00 grep jstatd
说明已经成功的以守护进程(daemon)方式运行。
d.打开windows上的visualvm
添加远程服务器,输入IP地址即可(可能需要打开防火墙的端口)。
0x02 修改tomcat配置
a.修改catalina.sh
在osspecific前加上jvm参数(注意,port是每个应用程序均不同):
JAVA_OPTS="-Xms8192m -Xmx8192m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:-UseGCOverheadLimit -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
0x03 查看jmx
默认VisualVM打开的Tomcat监控信息是没有CPU的使用情况的,需要在服务器上右键,添加JMX,然后输入上面配置的每个Tomcat的端口号即可。
Enjoy~~~~
visualVM1.3.8-ml下载地址(失效请告诉我):http://pan.baidu.com/s/1i59AiHJ
下载后,在远程服务器进行操作:
0x00环境检查(此部分转载自<我实在是比较懒>:http://josh-persistence.iteye.com/blog/2233459 有部分修改):
a、在服务器上配置jstatd的securitypolicy文件
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;
};
b. 修改服务器 hosts 文件中的 IP 地址
要使Java VisualVM 成功连接到远程服务器上,服务器端应该在 /etc/hosts 文件中把本机地址设为本机的 IP 地址。使用 hostname -i 命令查看,如果显示的是 127.0.0.1 或者与本机实际 IP 不一致的话,需要把 /etc/hosts 文件中相应的地址改为本机实际 IP 。
c. 运行 jstatd 守护程序
由于 jstatd 需要保持一直运行,所以建议使用 screen 命令执行 jstatd 程序,命令如下:
nohup jstatd -J-Djava.security.policy=jstatd.all.policy &>/home/dz/jstatd.log &
运行完毕查一下进程在不在:
ps -ef | grep jstatd
返回:
root 11679 1736 0 14:07 pts/1 00:00:12 jstatd -J-Djava.security.policy=jstatd.all.policy
root 12310 1736 0 14:32 pts/1 00:00:00 grep jstatd
说明已经成功的以守护进程(daemon)方式运行。
d.打开windows上的visualvm
添加远程服务器,输入IP地址即可(可能需要打开防火墙的端口)。
0x02 修改tomcat配置
a.修改catalina.sh
在osspecific前加上jvm参数(注意,port是每个应用程序均不同):
JAVA_OPTS="-Xms8192m -Xmx8192m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:-UseGCOverheadLimit -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
0x03 查看jmx
默认VisualVM打开的Tomcat监控信息是没有CPU的使用情况的,需要在服务器上右键,添加JMX,然后输入上面配置的每个Tomcat的端口号即可。
Enjoy~~~~
相关文章推荐
- tomcat都是按日保存日志文问分割
- tomcat开发的web项目部署到weblogic注意事项
- Unable to open service Tomcat解决方法
- tomcat 在eclipse中启动报错为端口被占用
- solr5.5 部署TOMCAT
- WEB服务器:Apache、Tomcat、JBoss、WebLogic的区别与关系
- Mac OS上安装Tomcat服务器的简单步骤
- Java后端WebSocket的Tomcat实现
- Linux下三行指令将Tomcat配置成服务及自启动
- 使用tomcat_2——虚拟目录映射
- eclipse项目配置tomcat后浏览器访问不到项目解决方案
- Tomcat 配置 默认应用 (去掉项目名称、移除项目名称)
- Nginx转发给Tomcat页面去掉端口号
- 部署terracotta集群存储tomcat的session
- tomcat 404 问题及解决方法
- 性能测试中用LambdaProbe监控Tomcat
- eclipse远程调试Tomcat方法(测试成功并且说说遇到的坑)
- Tomcat 指定的服务已存在 Failed installing 'Tomcat8'
- Cronolog 分割 Tomcat8 Catalina.out日志
- Server Tomcat v7.0 Server at localhost failed to start.怎么处理