2024-05-28 19:05:19 | 我爱编程网
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即可
当有问题出现时,许多开发人员可能会比较盲目的用这些工具来试探性定位问题,而大多数情况下,这种试探会无功而返。因为这些分析工具主要是侧重Java单方面的分析,比如该系统调用第三方API,如果第三方API有问题,是无法监控到的。还有像文件、DB资源的访问也是是无法监控到的。
除了JAVA自带的监控工具外,我们尝试了第三方的监控工具透视宝,功能相对全面,且易操作。
在功能方面,透视宝都包括:查看执行最慢的10个元素,包括元素执行次数、持续时长和占用时长百分比;查看HTTP请求参数,包括请求的响应状态、链接页面、具体的请求参数及返回结果;查看代码执行堆栈的详细树状信息,包括每个方法的计算时间、总耗时和被调用的次数,您能直接看到特殊标识的最慢方法;查看涉及SQL语句的总耗时排序,包括SQL执行总耗时、执行次数和具体的查询语句;第三方API调用。
我爱编程网(https://www.52biancheng.com)小编还为大家带来用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
怎么能用JAVA对进程CPU,内存等进行监控。TOP命令,不能只监控进程的CPU和内存的使用量,并且也不能看到使用量总和,还是用脚本吧,类型这样:ps-aux|grepjava|awk''|awk'BEGINEND'就可以,CPU同样。Java性能监控应该包含哪些内容?常用工具有哪些,是怎么实现的?当有问题出现时,许多开发人员可能会比较盲目的用这些工具来试探性定位问题,而
php调用dll文件里面的函数1、首先从www.php.net网站上下载php源码,此处以php-5.2.17版本为例,下载后解压至E:盘根目录下(目录可以自己随意定)。2、下载安装VC++6.0,因为PHP源码是利用6.0版本写的,所以使用这个版本编译不会出现意外,别的版本未测试。3、把VC++6.0安装目录中的MicrosoftVisualStudio\Common\MSDe
Java控制台实现程序importjava.util.HashMap;importjava.util.Map;importjava.util.Scanner;publicclassStr{publicstaticStringuserName;publicstaticStringpass;/***@paramargs*/publicStringtoSt
tomcat是如何在javaweb中部署的?1.Tomcat是一个开源的Web应用服务器,广泛用于部署JavaWeb应用程序。2.为了在Tomcat上部署JavaWeb项目,首先需要将项目打包成WAR(WebApplicationArchive)文件。3.接下来,将生成的WAR文件放置到Tomcat安装目录下的webapps文件夹内。4.然后,启动Tomcat服务器。在Windo
如何让tomcat启动时,就运行java一、创建Servlet在一个Web项目中创建一个Servlet,在web.xml文件中配置。将需要初始化的内容放在Servlet的init()方法实现。二、设置Servlet为自启动在web.xml文件中添加:<servlet> <servlet-name>servlet的名字</s
利用adb命令打开usb调试打开Android手机的USB调试对于使用豌豆夹、调试程序等来说很重要。下面说说如何用代码自动打开USB调试。先分析USB调试的相关源代码。在packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java找到关于USBDebugEnable的代码:[java] vi
java编程如何监视一个软件程序的运行从而使另一个程序的运行求代码Timertimer=newTimer();tt.schedule(newTimerTask(){publicvoidrun(){//要执行的内容}},0,60*60*1000);用定时器可以监听,在在run()中写你要执行的代码如果检查本机有没有JAVA运行环境在电脑cmd窗口中直接输入“Ja
php如何支持mb_strlen如何使用phpPHP字符串长度计算strlen()函数使用介绍strlen()函数和mb_strlen()函数在PHP中,函数strlen()返回字符串的长度。功能原型如下:复制代码代码如下:(同Internationalorganizations)国际组织strlen(字符串string_input);参数str
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00