JVM优化配置——使用JConsole性能调优.doc

JVM优化配置——使用JConsole性能调优.doc

ID:49531015

大小:329.60 KB

页数:8页

时间:2020-03-02

JVM优化配置——使用JConsole性能调优.doc_第1页
JVM优化配置——使用JConsole性能调优.doc_第2页
JVM优化配置——使用JConsole性能调优.doc_第3页
JVM优化配置——使用JConsole性能调优.doc_第4页
JVM优化配置——使用JConsole性能调优.doc_第5页
资源描述:

《JVM优化配置——使用JConsole性能调优.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JAVA开发我们常常会遇到内存分配和性能调优方面的要求,在新能调优方面没有固定的最优方案,这就需要我们去根据实际情况分析,然后给出最适合的方案。因此利用JConsole可以很方便进行观察。一、被控端配置要运行JConsole,需要首先被监控端要进行相应的配置,我们要在被控制端启动JAVA程序时补充上如下代码:-Dcom.sun.management.jmxremote                      //这里指定启动JMX-Dcom.sun.management.jmxremote.port=8061    //这里是指定端口号-Dcom.sun.manage

2、ment.jmxremote.ssl=false       //这里指定是否使用SSL进行通讯加密-Dcom.sun.management.jmxremote.authenticate=false     //这里指定是否使用证书如果我们需要启用远程用户身份认证(用户名和密码),则可以加入下面的参数:-Dcom.sun.management.jmxremote.authenticate=true-Dcom.sun.management.jmxremote.password.file=$JRE_HOME/lib/management/password.propertie

3、s   //这里指定你放置的password.properties 文件的路径      -Dcom.sun.management.jmxremote.access.file=$JRE_HOME/lib/management/access.properties     这里指定你放置的access.properties文件的路径这里的password.properties和access.properties文件可以从JRE_HOME/lib/management/目录下去复制jmxremote.password.template文件到指定目录下,并将其改名为passwo

4、rd.properties。在这个文件中可以指定用户名和口令,此文件可以用记事本打开。指定格式是“user  password”,前面是用户名,然后跟空格,然后是此用户密码,如果有多个用户,则换行输入按此格式输入第二个用户信息,以此类推。从JRE_HOME/lib/management/目录下去复制jmxremote.access文件到指定目录下,在这个文件中可以指定用户名的权限,此文件可以用记事本打开。指定格式是“user  权限”,前面是用户名,然后跟空格,然后是此用户权限,如果有多个用户,则换行输入按此格式输入第二个用户信息,以此类推。配置好被监控端后,就可以-D

5、com.sun.management.jmxremote.authenticate设置为false,则以上配置不生效。配置好被监控端后,我们可以像正常情况一样启动应用程序,这时我们就可以在远端通过JConsole监视此应用程序的运行情况了。二、使用JConsole在Command中运行JConsole(我只介绍通过UI方式进行连接,通过命令方式连接我就不介绍了,其实很简单)。JConsole有两种连接监控模式:LocalMonitoring和RemoteMonitoring。 连接远程被控端时,我们使用RemoteMonitoring,在相应的设置栏中输入远程计算机的i

6、p和端口号即可。1、查看概述在这里可以看到堆内存使用情况、活动线程数量、类的装入情况、CPU使用情况的一个全览图。2、查看内存这个Tab页上提供内存消耗和内存池的情况信息。界面上的图表反应了JVM的内存使用相对时间的变化情况,这里包括像堆(heap)、非堆(non-heap)和一些特定内存池的使用情况。HotSpot的内存池包括:EdenSpace(heap):这个内存池在对象初始化时被分配;SurvivorSpace(heap):这个内存池中包含着EdenSpace经过GC之后幸存下来的对象;TenuredGeneration(heap):这个内存池包含着在survi

7、vorspace中存在了很长一段时间的对象;PermanentGeneration(non-heap):这个内存池中包容着虚拟机自己反射的数据,例如像类和对象的方法。JVM采用类数据共享来将数据分割在只读和读写两个区域中。CodeCache(non-heap):HotSpotJVM总是包含一个代码缓存,在这个缓存区中包含着被编辑和存储的本地代码。在界面上详细信息区域列出了当前已使用内存大小、已分配内存大小、最大允许分配内存值是多少等信息。当前已使用内存大小反映了内存已被使用情况,它包括被所有对象(包括可到达对象和不可到达对象)占据的内存值

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。