下载此文档

JAVA内存机制及内存调整、监控文档(精选).docx


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
目录
一、 hotspot内存模型 2
二、 内存垃圾收集(GC)机制 3
垃圾回收常见概念 3
串行垃圾收集算法 4
GC的类型 5
三、 TOMCAT/WEBLOGIC JDK内存参数调整说明 6
Tomcat: 6
Weblogic: 7
四、 JVM常见问题 8
为什么会产生OutOfMemory? 8
OutOfMemory错误分几种? 8
为什么会产生StackOverFlowError错误? 8
五、 HotSpot VM 选项 9
官方说明文档 9
基本的开关选项请通过在命令行下运行 java 或者 java –X 获取 9
Performance Options (性能相关的选项) 9
六、 监控工具的使用 12
Jps 查看本机或者远程机器上面的java虚拟机进程。 12
Jstat 查看本机或者远程机器上的java进程虚拟机进程的信息 13
Visualgc 的安装配置 15
附录: 17
hotspot内存模型
(1)线程栈:线程创建是会为每个线程创建一个线程栈,线程栈里面会为每个方法调用创建一个栈帧。主要用于保存线程的当前运行状态。
(2)堆:用于存放运行时中生成的新对像。会划分成新生代和老年代。新生代里面又划分成了eden区、存活1区和存活2区。
(3)永久区:方法和常量区,用于存放方法字节码元数据和各种常量。
注:根据上图,Perm Generation 不包含在Heap内。但是官方文档有如下的描述:The different parts of the heap ( permanent generation, tenured generation, and young generation) can grow to the limit of the virtual space as needed.
实际测试结果如下:
参数1:set JAVA_OPTS= -server -Xms128M -Xmx128M -XX:PermSize=64M -XX:MaxPermSize=64M

参数2: set JAVA_OPTS= -server -Xms128M -Xmx128M -XX:PermSize=256M -XX:MaxPermSize=256M
通过测试可以看到,调整Perm Generation的大小,并不会影响Young Generation和Old Generation的内存分配,而且Young Generation和Old Generation相加的大小刚好等于定义的heap大小128M。
堆划分为新生代(New Generation)和老年代(Old Generation)的原理是:对于大部分应用,常驻对象不多。因为大部分对象存活寿命不长,新生代和年老代的划分有利于区分对待和缩小垃圾回收范围。
内存相关常见jvm参数参数
含义
-Xms
最小堆空间
-Xmx
最大堆空间
-Xmn
新生代空间
-Xss
线程栈空间
-XX:PermSize=xxx
永久代空间
-XX:MaxPermSize=xxx
最大永久代空间
-XX:SurviorRatio=xxx
代表eden:s0的比例
-XX:NewRatio=xx
代表Old Generation:NewGeneration的比例,如果使用-Xmn指定NewGeneration大小,则该参数无效。
-XX:MaxTenuringThreshold。
在新生代最大存活次数
内存垃圾收集(GC)机制
垃圾回收常见概念
串行:单线程执行内存回收工作。十分简单,无需考虑同步等问题,但耗时较长,不适合多cpu。
并行:多线程并发进行回收工作。适合多CPU,效率高。
stop the world:jvm里的应用线程会挂起,只有垃圾回收线程在工作进行垃圾清理工作。简单,无需考虑回收不干净等问题。
并发:在垃圾回收的同时,应用也在跑。保证应用的响应时间。会存在回收不干净需要二次回收的情况。
压缩:在进行垃圾回收后,会通过滑动,把存活对象滑动到连续的空间里,清理碎片,保证剩余的空间是连续的。
非压缩:保留碎片,不进行压缩。
copy:将存活对象移到新空间,老空间全部释放。(需要较大的内存。)
YGC:对新生代堆进行GC。频率比较高,因为大部分对象的存活寿命较短,在新生代里被回收。性能耗费较小。
FGC:全堆范围的GC。默认堆空间使用到达80%(可调整)的时候会触发FGC。以我们生产环境为例,一般比较

JAVA内存机制及内存调整、监控文档(精选) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人qiaoshi3311655
  • 文件大小0 KB
  • 时间2015-09-18