zoukankan      html  css  js  c++  java
  • VisulaVM 性能:分析 JVM 性能的免费工具

    VisualVM是一个集成多个JDK命令行工具的可视化工具。可以作为Java应用程序性能分析和运行监控的工具。开发人员可以利用它来监控、分 析线程信息,浏览内存堆数据。系统管理员可以利用它来监测、控制Java应用程序横跨整个网络的情况。Java应用程序使用人员可以利用它来创建包含所有 必要信息的Bug 报告。

    VisualVM 提供在 Java 虚拟机 (Java Virutal Machine, JVM) 上运行的 Java 应用程序的详细信息。在 VisualVM 的图形用户界面中,可以方便、快捷地查看多个 Java 应用程序的相关信息。


    下载工具

    官方下载地址:http://visualvm.java.net/download.html


    安装插件

    通过安装 VisualVM 更新中心提供的插件,可以向 VisualVM 添加功能。

    1. 从主菜单中选择“工具”>“插件”。
    2. 在“可用插件”标签中,选中该插件的“安装”复选框。单击“安装”。
    3. 逐步完成插件安装程序。   

     


    VisualVM监视远程JVM

    通过jstatd启动RMI服务

    配置java安全访问,将如下的代码存为文件 jstatd.all.policy,放到JAVA_HOME/bin中,其内容如下:

    grant codebase "file:${java.home}/../lib/tools.jar" 
    {
     permission java.security.AllPermission; 
    }; 

    想要调用这个监控策略,请拷贝一下脚本并执行:

    jstatd -J-Djava.security.policy=jstatd.all.policy

    由于 jstatd 需要保持一直运行,所以建议使用如下命令执行 jstatd 程序,命令如下(linux系统下有效,windows没确认过):

    add by 2013年12月3日 验证windows环境也能行!

    jstatd -J-Djava.security.policy=jstatd.all.policy &

    如果需要RMI 日志功能的话,还可以在启动参数中加入 -J-Djava.rmi.server.logCalls=true:

    jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true &

    通过JMX管理远程应用

    配置tomcat启动参数$JAVA_OPTS,指定hostname 一般情况需要重新指定hostname,否则连接不成功

    -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx

     

    指定hostname 指定端口默认:1099

    -Dcom.sun.management.jmxremote.port=8899

     

    禁止ssl连接

    -Dcom.sun.management.jmxremote.ssl=false

     

    开启用户认证

    -Dcom.sun.management.jmxremote.authenticate=true

    认证用户名密码

    -Dcom.sun.management.jmxremote.password.file=$JAVA_HOME/jre/lib/management/jmxremote.password

     

    访问模式

    -Dcom.sun.management.jmxremote.access.file=$JAVA_HOME/jre/lib/management/jmxremote.access

    注意:jmxremote.password和jmxremote.access文件只允许启动用户名对该文件拥有读写权限

    我们所要启动的服务将用weblgoic账户启用,权限设置信息如下:

    修改jmxremote.password文件内容,设置信息如下:

    monitorRole  QED
    controlRole   R&D

    其中monitorRole为账户,QED为密码。

    好叻,这嘛嘛再也不用担心我不会分析Java内存信息了。


    浮生潦草闲愁广,一听啤酒一口尽
  • 相关阅读:
    man LVCREATE
    Pyhton---基础---递归
    Python---基础---循环,函数
    Python---基础---dict_tuple_set
    Python---基础---dict和set2
    安卓网络编程学习(1)——java原生网络编程(1)
    使用python爬取B站弹幕和三连
    maven项目整合工具学习
    读阿里巴巴泰山版《java开发手册》总结(2)
    第十三周学习进度
  • 原文地址:https://www.cnblogs.com/snifferhu/p/3435724.html
Copyright © 2011-2022 走看看