当前位置: 首页 >
cms gc
-
java问题集锦(三)
32 bit的系统上,例如linux单个进程最多用3g的空间,在3g这种heap大小的情况下,cms gc压根就没任何优势,ParallelOldGC就OK了。64 bit其实也需要看heap size多大,我的建议是在可接受的fgc暂停时间的情况下,都不应该选cms gc,cms gc实现的复杂度(这和它的目标有关系)决定了它的稳定性很难和Parallel GC去比,另外cms gc的碎片问题绝对是让人头疼的问题。
阅读全文
-
Java问答集锦(二)
java.lang.Object不是接口的超类。top命令看到的RES是其占用的实际内存空间大小,VIRT是占用的地址空间大小,SWAP是用到了SWAP区的大小。CMS GC会回收Direct ByteBuffer的内存。
阅读全文
-
Sun JDK代码中处理OOM的方式
对于JDK中必须创建成功的线程,如失败会通过调用vm_exit_during_initialization打印出OOM错误,并退出Java进程。
阅读全文
对于非必须创建成功的线程,通常会调用THROW_MSG(vmSymbols::java_lang_OutOfMemoryError(),“unable to create new native thread”)。
-
CMS GC频繁问题的排查
CMS GC频繁问题原因:触发了悲观策略造成的。解决方法:减少新生代的大小,保持旧生代的剩余大小会超过新生代平均晋升的大小。
阅读全文