内存溢出问题初步分析

内存溢出问题初步分析

ID:42853100

大小:200.38 KB

页数:6页

时间:2019-09-23

内存溢出问题初步分析_第1页
内存溢出问题初步分析_第2页
内存溢出问题初步分析_第3页
内存溢出问题初步分析_第4页
内存溢出问题初步分析_第5页
资源描述:

《内存溢出问题初步分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、内存溢出问题初步分析一、内存分类Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟机启动时创建的。在JVM中堆Z外的内存称为非堆内存(Non-heapmemory)"。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存C如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。二、监控内存工具与配置常用查看内存工具1>jconsole介绍:

2、一个基于JMX的GUI工具,用于连接正在运行的JVMo优点是JDK自带,不需要下载,用起来比较方便,所需系统资源小;缺点是分析的不够全面。如果Tomcatstart.bat启动配置:1)/tomcat_home/bin/catalina.bat文件中找到setJAVA_OPTS=%JAVA_OPTS%,后面追加如下参数・Dcom.sun.management.jmxremote・Dcom.sun.management.jmxremote.port=8089・Dcom.sun.management.jmxremote.authenticate=false・Dcom.su

3、n.management.jmxremote.ssl=false2)启动TomcatI程3)启^/j/java_home/bin/jconsole.exe开发中Debug启动配置:在Eclipse/window/properties/Tomcat/JVMSettings/屮的AppendtoJVMParameters项,点击add按钮添加如下参数:-Dcom.sun.management.jmxremote・Dcom.sun.management.jmxremote.port="9004"・Dcom.sun.management.jmxremote.authentic

4、ate=',false,'・Dcom.sun.management.jmxremote.ssl="false"丄丄/upaaiEAppendtoJVMParametersAddRemoveDown^ms256n^^(mx512rT^^0LPermS^e=256fi^^0CM^

5、P&thTomcatManagerApp之后启动DEBUG后直接运彳亍/java_home/bin/jconsole.exe即可。2、JprofilerJProfiler是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。优点:分析全面,各个类型占用内存,类、包等占用内存、CPU使用率等都做了全面的分析。可以作为Eclipse插件,安装简单。缺点:付费、占用资源大。三、浙江EPM现状开发时和实际部署时,应用的都是Tomcat默认内存管理配置。1、部署初始吋内存分配状况100^••75X-50^-25X-W・•非集最左面条形图到右边

6、依次为:堆内存:EdenSpace/SurvivorSpace/TenuredGen非堆内存:PermGen[share-rw]]/CodeCache/PermGen[shared-rw

7、/PermGen这里主要看:PermGen全程PermanentGenerationspace,是指内存的永久保存区域,:这一部分用丁•存放Class和Meta的信M,Class在被Load的吋候被放入PermGenspacelx域,GC不会在主程序运行期对PermGenspace进行清理,启动状态是的具休参数:已使用:49,484Kb分配:49,664Kb最大值:65,536Kb可

8、见刚刚开启程序PermGenspace就已经被吃掉了大半。正常使用发起流程的时候会载入更多的类,内存使用状况如图:非堆100^-75%-50^-25%-0^-已使用:60,697Kb分配:60,928Kb最大值:65,536Kb这样一来剩余内存很小。如果发起多个流程,装更多的类后,一定会导致内存溢出。(测试了人概有10次流程,每一次会增加0.01-0.02kb内存,有的时候不会增加)2、开发内存分配状况Debug模式启动会占用更多的内存。非堆内存由左至右:CodeCache/PermGenPermGen使用情况为:已使用:53,579Kb分配:最大值

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

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

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