2013年2月26日

生产环境参数实例及分析【生产环境实例增加中】(四)

摘要: java application项目(非web项目)改进前:-Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=78-XX:ThreadStackSize=128-Xloggc:logs/gc.log-Dsun.rmi.dgc.server.gcInterval=3600000-Dsun.rmi.dgc.client.gcInterval=3600000-Dsun.rmi.server.exceptionTrace=true问题:perm 阅读全文

posted @ 2013-02-26 23:49 5彩石头 阅读(193) 评论(0) 推荐(0)

JVM参数设置、分析(三)

摘要: 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同(如何选择见GC种类及如何选择)。本文将注重介绍JVM、GC的一些重要参数的设置来提高系统的性能。 JVM内存组成及GC相关内容请见之前的... 阅读全文

posted @ 2013-02-26 23:47 5彩石头 阅读(242) 评论(0) 推荐(0)

HotSpot VM GC 的种类

摘要: collector种类GC在 HotSpot VM 5.0里有四种:incremental (sometimes called train) low pause collector已被废弃,不在介绍.类别serial collectorparallel collector(throughput collector)concurrent collector(concurrent low pause collector)介绍单线程收集器使用单线程去完成所有的gc工作,没有线程间的通信,这种方式会相对高效并行收集器使用多线程的方式,利用多CUP来提高GC的效率主要以到达一定的吞吐量为目标并发收集器使 阅读全文

posted @ 2013-02-26 23:45 5彩石头 阅读(229) 评论(0) 推荐(0)

GC策略&内存申请、对象衰老(二)

摘要: JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同生命周期的对象放在不同区域里:young generation,tenured generation和permanet generation。绝大部分的objec被分配在young generation(生命周期短),并且大部分的object在这里die。当young generati... 阅读全文

posted @ 2013-02-26 23:44 5彩石头 阅读(161) 评论(0) 推荐(0)

JVM内存组成及分配(一)

摘要: java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法 的代码都在非堆内存中。组成图方法栈& 阅读全文

posted @ 2013-02-26 23:41 5彩石头 阅读(207) 评论(0) 推荐(0)

导航