电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Jconsole使用手册VIP免费

Jconsole使用手册_第1页
1/15
Jconsole使用手册_第2页
2/15
Jconsole使用手册_第3页
3/15
jConsole简介•jConsole是一个JMX兼容的监视工具。它使用Java虚拟机的JMX机制来提供运行在Java平台的应用程序的性能与资源耗费信息。其监控内容包括:内存、线程、类、CPU使用等。•通过监控信息,可以很清晰的了解到当前程序是否运行正常:如内存泄露、死锁、类加载异常等。jConsole使用•jConsole位于jdk\bin目录下,如图所示:•jConsole监控tomcat配置•jConsole监控weblogic配置•jConsole使用示例•MBean使用示例jConsole监控tomcat配置打开tomcat\bin目录下catalina.bat文件:添加以下语句:setJAVA_OPTS=%JAVA_OPTS%-Dcom.sun.management.jmxremote.port=9090-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false注:……port=9090:远程连接时用到的端口。……authenticate=true:远程连接时进行身份验证,如值为false则不需要进行身份验证。身份验证设置•打开jdk\jre\lib\management目录(监控tomcat,对应的为系统环境变量中指向的jdk;监控weblogic,对应的则为weblogic安装目录下的jdk)。•复制jmxremote.password.template文件,命名为jmxremote.password•打开jmxremote.password文件,添加用户名密码,如:sunyardsunyard。•打开jmxremote.access文件,为添加的用户授权,如:sunyardreadwrite。身份验证设置注意事宜•如服务器启动时报错:必须限制口令文件读取访问。•则如下配置:将jmxremote.password“组或用户名”中除当前所有者外,其他的都删除;当前所有者只保留读取权限。jConsole监控weblogic配置•本地连接设置:•方法一:打开bea\user_projects\domains\base_domain\bin\startWebLogic.cmd文件•添加以下语句:•setJAVA_OPTIONS=%SAVE_JAVA_OPTIONS%-Dcom.sun.management.jmxremote•方法二:如图在快捷方式中进行添加:•远程连接设置•打开bea\user_projects\domains\base_domain\bin\setDomainEnv.cmd文件•找到setMEM_ARGS=-Xms256m–Xmx512m•修改为:•setMEM_ARGS=-Xms256m–Xmx512m-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port="9090"-Dcom.sun.management.jmxremote.authenticate=“false"-Dcom.sun.management.jmxremote.ssl="false"•(身份验证设置参照Jconsole监控tomcat)Java内存区划分•EdenSpace(heap):内存最初从这个线程池分配给大部分对象。•SurvivorSpace(heap):用于保存在edenspace内存池中经过垃圾回收后没有被回收的对象•TenuredGeneration(heap):•用于保持已经在survivorspace内存池中存在了一段时间的对象。•PermanentGeneration(non-heap):保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,•CodeCache(non-heap):HotSpotJava虚拟机包括一个用于编译和保存本地代码(nativecode)的内存,叫做“代码缓存区”(codecache)jConsole监控程序运行示例1•下图为压力测试下,程序运行一段时间后停止的内存使用情况,•从图中可看到:程序运行正常,内存及时回收。jConsole监控程序运行示例2•从下图可以发现:内存没隔半小时会就会有较大幅度上升,并且没有下降。由此可说明:部分内存没有及时回收,存在泄露问题。MBean管理使用•MBeantab展示了所有以一般形式注册到JVM上的MBean。通过它可以获取所有的平台信息。•示例:•开启/关闭虚拟机的详细跟踪•内存池情况统计•线程相关信息及操作开启/关闭虚拟机的详细跟踪•mBean中java.lang.Memory的verbose属性(true|false)内存池情况统计•java.lang/memoryPool节点下,内存池各分区信息统计。线程相关信息及操作•如:findMonitorDeadlockedThreads,操作返回一组死锁的线程IDgetThreadInfo.返回线程的信息。包括线程的名称、堆栈信息,导致当前线程阻塞的锁,如果有的话,还返回哪儿线程持有这个锁,和这个线程信息的统计。getThreadCpuTime.返回指定线程消耗的CPU时间。

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Jconsole使用手册

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部