可视化性能监控工具VisualVM

本文详细介绍VisualVM这款强大的免费可视化性能监控工具的使用方法。包括如何启动工具、连接本地和远程进程,以及如何利用概况、监视、线程和抽样等功能进行性能调优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    VisualVM是一个功能强大的免费的可视化性能监控工具,它的功能基本上包含了JDK提供的其他的工具。除此之外,它还可以支持插件的拓展。下面介绍一下其使用。
启动
    当jvisualvm命令在系统的PATH中时,在命令行中执行jvisualvm便可以启动工具。如下所示:

连接进程
本地进程
    从上面的图可以看出,jvisualvm启动时就展示出了可以监控的本地进程。双击进程子树,就可以进入监控页面。
远程进程
    VisualVM也支持远程JMX连接。不过此时,远程的Java应用程序需要在JVM启动参数中,添加以下内容:
-Djava.rmi.server.hostname=127.0.0.1
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999    #VisualVM连接端口
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
    一般情况下,我们不会直接在线上环境开启上述参数。一般用于测试环境的性能调优,所以没有增加认证。在开启端口后,需要在Server端开启响应端口(内网情况下,可以直接关掉防火墙)。
    添加过程如下:

    如果没有配置认证信息的话,只需要IP和端口号即可。如下图所示:

面板功能
概况
    第一个TAB是概况信息,可以看到进程ID,主类、启动参数等。如下图所示:

监视

    它展示了应用程序CPU、堆、永久区、类加载器和线程数的总体情况。可以通过右上角的“执行垃圾回收”、“堆Dump”,可以分别对JVM执行Full GC和Dump当前的堆快照信息。如下图所示:


线程
    线程这一栏展示了当前进程的所有线程运行情况,点击右上角的“线程Dump”便可以对当前系统线程做一个快照,这个相当于执行jstack命令。如下图所示:


抽样器
    VisualVM有2个采样器,CPU采样器和内存采样器。

    CPU采样器可以将CPU的占用时间定位到方法。可以看到当前占用CPU比较多的方法是什么,和线程占用CPU时间的情况。


    内存采样器可以看到当前线程的堆对象占用情况,和每个线程单独占用的情况。



链接:http://moguhu.com/article/detail?articleId=59

Twitter Ambrose 是 MapReduce 数据流的可视化和实时监控平台。只要你提交 job 到 Hadoop 集群上执行,则 Ambrose 将实时更新可视化界面来反映 job 的最新状态。Ambrose 提供了下面的 Web 用户界面:工作流进度条——显示完成工作进度的百分比 所有工作流工作的可视视图,还有当前状态 描述工作相关性和度量的图表 基于资源消耗的工作可视化权重(Visual weighting)  基于数据流的工作相关性可视化权重 脚本可视图,具有行高亮功能 (Pig only)Ambrose 是基于以下前端技术构建的:jQuery, UnderscoreJS, RequireJS - 核心 javascript 库和 JS 模块定义D3.js - 支持图表生成Bootstrap - 支持布局和 CSS Ambrose 旨在支持任何在运行时的工作流。支持以下情况:Pig - See pig/README.mdHive - See hive/README.mdCascading - See cascading/README.mdScalding - See scalding/README.mdCascalog - future work 分享 window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2", "bdMiniList": [], "bdPic": "", "bdStyle": "1", "bdSize": "24" }, "share": {} }; with (document)0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' ~(-new Date() / 36e5)];\r\n \r\n \r\n \r\n \r\n \u8f6f\u4ef6\u9996\u9875\r\n \u8f6f\u4ef6\u4e0b\u8f7d\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\nwindow.changyan.api.config({\r\nappid: 'cysXjLKDf', conf: 'prod_33c27aefa42004c9b2c12a759c851039' });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值