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

使用visualVM 1.3.8(visualvm_138-ml.zip) 监控远程Tomcat运行情况的更多相关文章

  1. 使用Java VisualVM监控远程JVM

    我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...

  2. Java VisualVM监控远程JVM

    我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...

  3. JVM探秘:VisualVM监控远程Java进程

    VisualVM在Java 8中是JDK自带的一个图形化工具,项目主页 VisualVM,在后续版本中可能会从JDK移除. VisualVM可以监控Java进程的CPU与内存占用情况,可以监控Java ...

  4. 使用VisualVM监控远程服务器JVM

    VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用.JVM堆内存消耗.线程.类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很 ...

  5. visualvm 监控 远程 机器上的 Java 程序

    JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程 ...

  6. 转:visualvm监控远程机器上的Java程序

    转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款 ...

  7. VisualVM监控远程服务器JVM

    VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用.JVM堆内存消耗.线程.类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很 ...

  8. Java虚拟机性能管理神器 - VisualVM(1) 简介 - JVM轻量级监控分析神器

    目录(?)[-] 一VisualVM是什么 二如何获取VisualVM 三获取那个版本 四VisualVM能做什么 显示JAVA应用程序配置和运行时环境 显示本地和远程JAVA应用程序运行状态 监控应 ...

  9. 使用VisualVM分析tomcat运行状况(1)

    VisualVM是一款java程序性能分析与调优工具,而且还是jdk中自带的工具之一. tomcat也是一个java程序,自然也可以用它来进行监控.不过这里还是会有些问题,tomcat有两种常用的期待 ...

随机推荐

  1. “FAIL - Deployed application at context path but context failed to start”错误的解决

    Netbeans调试错误,出现以下信息,无法启动浏览器调试. Attached JPDA debugger to localhost:tomcat_shared_memory_id 正在取消部署... ...

  2. asp.net 文件批量移动重命名

    最近闲时写了个批量移动重命名文件的工具 点击下载工具

  3. 在Openfire中使用自己的数据表之修改系统属性

    通过修改Openfire安装目录的conf/openfire目录下是openfire.xml文件可以使用我们自定义的认证集成以及用户数据集成.其实仔细观察之后,在修改完配置文件再次启动openfire ...

  4. 黑马程序员_Java基础:十进制转换其他进制

    ------- android培训.java培训.期待与您交流! ---------- 平时使用中,进制转换只要使用Integer这个包装类中的方法即可完成. 但其实我们也能用自己的方法去实现,这有助 ...

  5. UART的CTS与RTS

    在RS232中本来CTS 与RTS 有明确的意义,但自从贺氏(HAYES) 推出了聪明猫(SmartModem)后就有点混淆了.在RS232中RTS 与CTS 是用来半双工模式下的方向切换:HAYES ...

  6. 借助Process Explorer定位断电未保存的录音文件

    话说某大神(大婶)开会常偷懒,用Windows自带的录音机进行录音并用记事本记录会议精要却没有点击Ctrl+S的习惯,结果就给我找了今天的难题.(之前都是Office的自动保存在哪里……) 还是一样, ...

  7. ios图片的压缩

    最近做图片的上传,由于项目中的涉及到的图片是从相册和相机中拍照获取的,所以图片的类型不一定,有些是jpg有些是png,另外随着现在设备相继的像素越来越高,所拍摄的图片也越来越到,在图片上传之前我们是需 ...

  8. C#设计模式(5)——建造者模式(Builder Pattern)

    一.引言 在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成.例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象, ...

  9. JS自动化

    写在前面 记得当时刷笔试题的时候有了解过“前端工程化”,无非就是用自动化工具帮助开发人员完成一些小细节,提高工作效率之类的,不过当时可没想到可维护性这么远 构建项目 -> 模块化开发 -> ...

  10. 说说ABP项目中的AutoMapper,Castle Windsor(痛并快乐着)

    这篇博客要说的东西跟ABP,AutoMapper和Castle Windsor都有关系,而且也是我在项目中遇到的问题,最终解决了,现在的感受就是“痛并快乐着”. 首先,这篇博客不是讲什么新的知识点,而 ...