小编Mar*_*tin的帖子

为什么G1 Full GC被不必要地触发?

我在用

java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

与G1垃圾收集器.JVM的论点是

-server -Xss4096k -XX:MaxPermSize=512m -XX:PermSize=512m -Xms30G 
-Xmx30G -Xnoclassgc -XX:+UseNUMA -XX:+UseFastAccessorMethods 
-XX:ReservedCodeCacheSize=48m -XX:+UseStringCache 
-XX:+UseGCOverheadLimit -Duser.timezone=EET 
-Xmaxf1 -XX:+UseCompressedOops -XX:+DisableExplicitGC 
-XX:+AggressiveOpts -XX:CMSInitiatingOccupancyFraction=70 
-XX:+ParallelRefProcEnabled -XX:+UseAdaptiveSizePolicy 
-XX:MaxGCPauseMillis=500 -XX:+UseG1GC 
-XX:InitiatingHeapOccupancyPercent=0 
-XX:GCPauseIntervalMillis=10000 -XX:+PrintGCDetails 
-XX:+PrintHeapAtGC -XX:+PrintGCDateStamps -Xloggc:gc.log
Run Code Online (Sandbox Code Playgroud)

但是,我正在经历完全GC扫描,没有任何明显的原因,如何摆脱它们?

GC日志与之前事件的尾部:

{Heap before GC invocations=206 (full 8):
 garbage-first heap   total 31457280K, used 18323299K [0x00007fc6eb800000, 0x00007fce6b800000, 0x00007fce6b800000)
  region size 8192K, 768 young (6291456K), 31 survivors (253952K)
 compacting perm gen  total 524288K, used …
Run Code Online (Sandbox Code Playgroud)

java garbage-collection g1gc

15
推荐指数
2
解决办法
7592
查看次数

是否可以从gc透视图标记不可收集的java对象以节省gc-sweep时间?

是否可以从gc透视图标记不可收集的java对象以节省gc-sweep时间?

有关http://wwwasd.web.cern.ch/wwwasd/lhc++/Objectivity/V5.2/Java/guide/jgdStorage.fm.html的内容,特别是非垃圾收集容器(非垃圾 -收藏?).

问题是我有很多普通的临时对象,但我有更大的(几个Gigs)对象存储用于缓存目的.Java GC无缘无故地遍历所有那些试图找到要收集的内容的Cache千兆字节,因为它们包含具有自己超时的缓存数据.

通过这种方式,我可以将自定义方式的数据划分为无限期和正常生存的对象,并且希望GC非常快,因为普通对象不能存活这么长时间并且数量较少.

这个问题有一些解决方法,例如Apache DirectMemory和Commercial Terracotta BigMemory(http://terracotta.org/products/bigmemory),但java-native解决方案会更好(我的意思是免费且可能更可靠?).此外,我想避免序列化开销,这意味着它应该在相同的jvm内发生.据我所知,DirectMemory和BigMemory主要在堆上运行,这意味着必须将对象序列化/反序列化到jvm外部的内存中.简单地在jvm中标记非gc区域似乎是更好的解决方案.使用文件进行缓存也不是一种选择,它具有相同的无法承受的序列化/反序列化开销 - 用例是一个HA服务器,其中包含大量以随机(人工)顺序使用的数据,并且需要低延迟.

java garbage-collection

9
推荐指数
1
解决办法
1912
查看次数

标签 统计

garbage-collection ×2

java ×2

g1gc ×1