jconsole linux linux桌面软件开发
大家好,感谢邀请,今天来为大家分享一下jconsole linux的问题,以及和linux桌面软件开发的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
如何使用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 在 Linux 上监控你的 Java | Linux 中国
Java开发工具包中的 Java监控和管理控制台提供了强大的工具来监控和管理运行中的 Java应用程序。通过使用 jconsole,用户可以连接到本地实例并监控 JVM的关键性能指标。
在演示中,假设使用了 WildFly J2EE应用服务器作为例子。首先启动服务器,然后在另一个终端输入 `jconsole`命令,连接到运行中的 JVM。
jconsole的仪表板提供了对 JVM性能的概览,包括 PID、堆内存使用情况、线程、类和 CPU使用情况。各个标签提供了详细的视图,帮助用户深入了解 JVM的内部运作。例如,内存标签显示了 JVM使用的内存方面,包括堆、伊甸园、老年代和幸存者区的详细信息。用户还可以手动执行垃圾收集操作。
线程标签提供了关于正在运行线程的详细信息,以及检查是否存在死锁的可能性。类标签显示了已加载和卸载的类数量。虚拟机摘要标签提供了操作系统、架构、系统内存总量、CPU数量和交换空间等关键信息。此外,摘要中还包含了关于 JVM的详细信息,如当前和最大堆大小以及使用的垃圾收集器。底部的窗格列出了传递给 JVM的所有参数。
MBeans标签允许用户通过所有 MBeans向下钻取,查看每个 MBeans的属性和值,为更深入的性能分析提供支持。
jconsole提供了全面的监控和管理功能,对于 Java应用程序的开发和维护具有重要的价值。通过使用 jconsole,用户可以更好地理解 JVM的性能和行为,从而优化应用程序的性能和稳定性。
jconsole 为什么远程连接连接失败
根据oracle网站上的文档,本地使用jconsole没有问题。但当我从windows连接到linux时(centos5.4)时,老是连接不上)。原因是Linux上JVM给jconsole的RMI配置文件不对,
jvm使用了hostname-i的IP地址,我的/etc/hosts上127.0.0.1,所以远程老是连接不上。
只要在java启动参数中加入-Djava.rmi.server.hostname=192.168.0.10显示说明JVM返回给jconsole的IP地址即可。
挡在java启动参数中加入-Dcom.sun.management.jmxremote.port=6666时,jvm回去读取 JRE_HOME/lib/management/jmxremote.password和 JRE_HOME/lib/management/jmxremote.access文件。其中jmxremote.password说明远程访问的用户名和密码, jmxremote.access说明用户的访问权限,有readonly和readwrite选项。 jmxremote.password可以有jmxremote.password.template生成,同时要注意修改jmxremote.password的访问权限为用户只读,组和others无权限, chmod 0400./jmxremote.password。
否则会出现Error: Password file read access must be restricted:/root/jdk1.6.0_26/jre/lib/management/jmxremote.password
一下两个选项分别禁止ssl验证和无用户名密码访问
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false