首页 > 后端开发 > 正文

如何使用jconsole监控tomcat

2024-05-28 19:05:19 | 我爱编程网

今天我爱编程网小编整理了如何使用jconsole监控tomcat相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

如何使用jconsole监控tomcat

如何使用jconsole监控tomcat

JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM。可以监控本地和远程的java程序。

Jconsole 可以监视本地Tomcat和远程服务器上的Tomcat

监视前需要做如下配置:

1、如果要监视远程Java进程,需要在远程服务器上做相应的设置

1)windows系统下,需要修改 tomcat主目录\bin\ catalina.bat文件

set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

修改成

set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port="8080"

-Dcom.sun.management.jmxremote.authenticate="false"

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

2)Linux系统下,需要修改 tomcat主目录\bin\ catalina.sh文件

增加一行

CATALINA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=218.28.198.188 -Dcom.sun.management.jmxremote.port=9527 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"即可

然后使用JConsole就可以监控Tomcat啦。

点击%JAVA_HOME%\bin下的jconsole.exe即可

如何使用jconsole监控tomcat

Java类应用监控应该监控哪些

当有问题出现时,许多开发人员可能会比较盲目的用这些工具来试探性定位问题,而大多数情况下,这种试探会无功而返。因为这些分析工具主要是侧重Java单方面的分析,比如该系统调用第三方API,如果第三方API有问题,是无法监控到的。还有像文件、DB资源的访问也是是无法监控到的。

除了JAVA自带的监控工具外,我们尝试了第三方的监控工具透视宝,功能相对全面,且易操作。

在功能方面,透视宝都包括:查看执行最慢的10个元素,包括元素执行次数、持续时长和占用时长百分比;查看HTTP请求参数,包括请求的响应状态、链接页面、具体的请求参数及返回结果;查看代码执行堆栈的详细树状信息,包括每个方法的计算时间、总耗时和被调用的次数,您能直接看到特殊标识的最慢方法;查看涉及SQL语句的总耗时排序,包括SQL执行总耗时、执行次数和具体的查询语句;第三方API调用。

如何使用jconsole监控tomcat

用java监视系统进程的两个解决方案

用第一个java虚拟机启动另一个虚拟机 并用第一个虚拟机的java程序去测试另一个虚拟机上java程序运行时的内存 CPU资源占用情况

解决问题的限制和条件

》两个虚拟机运行在同台Windows_X 机上

》只需要知道第二个虚拟机上运行程序时 第二个虚拟机的内存 CPU使用情况

》目的是 测试不同的程序在同个虚拟机上资源使用差别

解决问题的关键

第一 如何启动另一虚拟机运行测试的java程序

第二 如何用第一个虚拟机里的java程序 监视另一个虚拟机与其相关进程的运行情况

解决办法

一 使用java io中的函数(命令试过没问题 程序请按下面提示完成)

使用java io中的函数

Runtime getRuntime() exec( 系统命令 )

这里我给一个带命令参数的例子

Runtime r=Runtime getRuntime();Process p=null;String cmd[]={ 命令 参数 };try{ p=r exec(cmd);}catch(Exception e){System out println( error executing: +cmd[ ]);}我爱编程网

这里要使用到的系统命令有几个

path/java file//用第二个jvm(path为第二个jre/bin/地址)运行java程序filetasklist > log txt//将当前系统进程写以 任务管理器 的格式()写入//log txt文件中 关于tasklist使用细节 如查询某个进程ID的信息//可以使用命令 >tasklist /? 进行查询

这两步均在第一个虚拟机完成 简单!!!

二 常规方法使用JNI

这里我给一套解决方案 网上有很多相关代码 自己去找找

lishixinzhi/Article/program/Java/hx/201311/26640

以上就是如何使用jconsole监控tomcat全部内容,更多相关信息,敬请关注我爱编程网。

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“如何使用jconsole监控tomcat”相关推荐