【转】使用JDK自带jvisualvm监控tomcat

转载地址:

http://my.oschina.net/kone/blog/157239

jdk自带有个jvisualvm工具、该工具是用来监控java运行程序的cpu、内存、线程等的使用情况。并且使用图表的方式监控java程序、还具有远程监控能力。不失为一个用来监控tomcat的好工具。

在jdk目录下的bin目录中可以找到jvisualvm.exe文件、直接启动可以看到如下界面:

以上是已经连接远程的界面。直观的监控界面、更有助于我们分析tomcat的运行情况。

下面主要介绍下怎么样使用本地jvisualvm监控远程tomcat。

tomcat自带的监控介绍可以参考:

http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html

下面是我的配置方法:

 在tomcat/bin目录下打开startup.sh或者startup.bat,在最后一行前面加上,也就是:

view source
print?
1exec "$PRGDIR"/"$EXECUTABLE" start "$@"

前面加上

view source
print?
1export CATALINA_OPTS="$CATALINA_OPTS 
view source
print?
1-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx  -Dcom.sun.management.jmxremote.port=xxx -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password  -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"

参数说明:

view source
print?
1-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx 主机地址,我配置的是外网地址
view source
print?
1-Dcom.sun.management.jmxremote.port=xxx  端口号、配置完端口号之后需要将此端口开放出来  可以使用命令:iptables -A INPUT -p tcp --d port  端口号 -j ACCEPT
view source
print?
1-Dcom.sun.management.jmxremote.authenticate=true 是否开启认证、false的时候可以不使用密码访问
view source
print?
1-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access  以上配置是开启认证时使用的access文件和password文件

其中jmxremote.access文件的内容可以配置为:

view source
print?
1username1 readonly
2username2 readwrite

jmxremote.password文件可以配置为:

view source
print?
1username1 password1
2username2 password2

将以上俩文件放在对应配置目录tomcat/conf/下

并且将以上俩个文件访问权限配置成:

view source
print?
1chmod 600 jmx*

如果没有这一步、使用startup启动不了tomcat。

按照上述配置、再使用startup.sh启动tomcat。

接下来就是使用jvisualvm来远程监控tomcat了

右键点击远程-添加远程主机-输入主机ip地址



添加远程主机之后,点击远程主机右键-添加jmx连接:


弹出登录框

输入主机名:端口号,如果配置了用户名和密码,请输入用户名和密码。然后点击确定。

点击确定之后、在远程主机下会有一个jmx连接,打开连接,点击监视tab,可以看到如下界面了。

在上图中可以看到cpu利用率和垃圾回收活动(这个在分析tomcat性能时也很重要)。然后是堆栈使用情况。下面是类的使用情况,最后一个是线程活动情况。

点击线程tab可以看到:

上图可以非常清晰的看到线程活动情况,那些线程正在执行,哪些线程正在等待中,以及执行完毕的线程等。

这里可以看到每个线程的状态,点击某个线程右键可以查看该线程的详细情况:

使用左上角的线程dump按钮,还可以看到线程的堆栈情况,这样就可以具体分析线程是在什么地方进入等待,什么地方进入休眠,以及什么地方一直处于执行状态。这也是一个性能分析利器哦!

以上就是使用jvisualvm的jmx远程监控tomcat的简单配置。

转载于:https://www.cnblogs.com/csshaw/p/3379989.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双网卡oracle rac,Linux+Oracle 10g RAC双网卡绑定和解除绑定的实现(2)

解除双网卡绑定十一、停数据库和crs在rac1和rac2上停数据库和crs#cd /u01/app/oracle/product/10.2.0/crs_1/bin停数据库实例#./srvctl stop instance –d devdb –i ora.devdb.devd1.inst#./srvctl stop instance –d devdb –i ora.devdb.devd2.inst停数据库#./srvctl stop …

推荐十款非常优秀的 HTML5 在线设计工具

网络有很多优秀的设计和开发工具可能大家都不知道,因此这篇文章就向设计师推荐十款优秀 HTML5 在线工具,这些工具能够帮助设计师们设计出更有创意的作品。随着 HTML5 技术的不断成熟,网络上涌现出越来越多的优秀 HTML5 应用,一起看…

【转】使用Apache Kylin搭建企业级开源大数据分析平台

http://www.thebigdata.cn/JieJueFangAn/30143.html 本篇文章整理自史少锋4月23日在『1024大数据技术峰会』上的分享实录:使用Apache Kylin搭建企业级开源大数据分析平台。 正文如下 我先做一个简单介绍我叫史少锋,我曾经在IBM、eBay做过大数据、云架构的…

每日英语:Apple Unveils New iPads

Apple Inc. s answer to the increasingly cutthroat tablet-computer market: more product choices and free software. cutthroat:残酷的,剧烈的,凶手    At an event here Tuesday, Apple showed off a new full-size tablet--now ca…

wordpress漏洞上传php文件夹,WordPress Asset-Manager PHP文件上传漏洞

这个模块利用Metasploi脆弱漏洞库在WordPress版本Asset-Manager插件2.0以及以下版本发现的。允许上传php文件、一用户可以上传一个文件到一个临时目录没有身份验证,从而导致执行任意代码。### This file is part of the Metasploit Framework and may be subject to# redistrib…

C#基于Socket的CS模式的完整例子

基于Socket服务器端实现本例主要是建立多客户端与服务器之间的数据传输,首先设计服务器。打开VS2008,在D:\C#\ch17目录下建立名为SocketServer的Windows应用程序。打开工程,往当前窗体中添加控件,如表17-6所示。表17-6 添加控件列…

Java基础之写文件——缓冲区中的多条记录(PrimesToFile3)

控制台程序,上一条博文(PrimesToFile2)每次将一个素数写入到文件中,所以效率不是很高。最好是使用更大的缓冲区并加载多个素数。 本例重复使用三个不同的视图缓冲区加载字节缓冲区并尽可能加入更多的素数,推荐使用这种…

导出oracle sequences,利用数据泵只导出序列

Oracle的数据泵导入导出功能比原有的导入导出工具(exp/imp)功能强很多。利用数据泵我们可以只导出某一特定对象类型,并且可以指定过滤条件。这个功能的实现主要依靠expdp的include参数。联机文档对于参数的功能描述如下:INCLUDEDefault: nonePurposeEnab…

HDU2546_用01背包做

题目大意: 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无…

俄罗斯游戏软件:C语言应用初步感受

俄罗斯游戏软件:C语言应用初步感受C语言课程设以一节课,老师提供了一个C语言的飞俄罗斯方块让我们感受,我们所学的C语言课程,主要是各种语句的练习,这次是用我们所学过的知识来感受一个实际的系统。首先安装c-free&…

重定向 12 21 解析

在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是: 0: Standard Input (STDIN) 1: Standard Output (STDOUT) 2: Standard Error Output (STDERR) 在标准情况下, 这些FD分别跟如下设备关联: stdin(0): keyboard 键盘输入,并返回在前端 stdout(…

oracle xml中cdata,XML CDATA的作用

XML CDATA的作用更新时间:2009年09月01日 00:52:36 作者:当你用FLASH和xml结合做网站应用程序时,例如你做在我研究游戏排行榜中,当让人自由输入姓名时,人们可以输入一些符号,例如∶""、"/…

SQL登录 18470 18452 错误

18452,是验证模式没有选择混合模式。 对应方法: 设置允许SQL Server身份登录(基本上这个很有用) 操作步骤: 1。在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称 2。选择…

android开发(49) android 使用 CollapsingToolbarLayout ,可折叠的顶部导航栏

概述 在很app上都见过 可折叠的顶部导航栏效果。google support v7 提供了 CollapsingToolbarLayout 可以实现这个效果。效果图如下: 实现步骤 1. 写一个 CollapsingToolbarLayout,它有两个 子视图,一个就是上图显示的图片(降落伞…

linux ssh服务端下载文件,Linux SSH服务端配置文件设置

一 SSH概述SSH 由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统…

注意扩展方法的返回值类型

public static IEnumerable<TSource> Where &#xff1a; IEnumerable<TSource> 类型转载于:https://www.cnblogs.com/changbaishan/p/3391842.html

使用GPUImage实现视频滤镜

关于GPUImage 这里直接引用官方描述&#xff1a;The GPUImage framework is a BSD-licensed iOS library that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies. In comparison to Core Image (part of iOS 5.0), GPUImag…

C 学习笔记 - 数组

在学习了 C 语言的数组之后&#xff0c;我发现 C 中的数组与 C# 中的数组除了书写形式上略有区别&#xff0c;其它的基本上都一模一样。 因为之前有 C# 的底子&#xff0c;所有学习 C 语言&#xff0c;感觉也挺轻松的&#xff0c;不过 C 和 C# 之前还是有很多不一样的地方&…

yunos5 linux内核,魅蓝5S、魅蓝5对比看差异 选Android还是YunOS?

原标题&#xff1a;魅蓝5S、魅蓝5对比看差异 选Android还是YunOS&#xff1f;几天前魅族发布了魅蓝5S&#xff0c;这款手机刚好2月20日上午10点开始销售&#xff0c;在魅族官方店和天猫都可以买到。作为新一代入门级手机&#xff0c;魅蓝5S最大得卖点恐怕就是加入了18W快充功能…

.net SerialPort

虚拟串口并定时向虚拟串口定时发数据http://scorpiomiracle.iteye.com/blog/653923C#中如何使用SerialPort控件向单片机发送数据&#xff1f;http://zhidao.baidu.com/question/206863745.html?frqrl&index2&qbltopic_question_2_2 转载于:https://www.cnblogs.com/su…