zoukankan      html  css  js  c++  java
  • 使用visualVM 1.3.8(visualvm_138-ml.zip) 监控远程Tomcat运行情况

    服务端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~~~~

  • 相关阅读:
    Android 修改应用程序字体
    Activity A 跳转到Activity B 生命周期
    Android调用系统设置
    最近遇到adb connection 问题,总结一下
    今日写一篇散文 Textview settext 方法不能放入 int 参数 不然报错!
    计时线程Runnable和Handler的结合
    JMF 下载安装与测试 测试成功
    基本数据类型的介绍及转换,基本数据类型与字符串之间转换,字符串与字符数组之间转换以及字符串与字节数组之间转换
    超实用的Eclipse快捷键大全(解密为什么他们的代码写的又快又好~)
    JDK的下载、安装及Eclipse安装详细教程(内附:网盘win64版JDK安装包)
  • 原文地址:https://www.cnblogs.com/sixiweb/p/5660081.html
Copyright © 2011-2022 走看看