全球旧事资料 分类
默认是47,最高90。XXMaxPermSize64m:设置持久代即方法区占整个堆内存的最大值。XXMaxTe
uri
gThreshold0:设置对象最大年龄。即对象在在Ede
与Survivor区之间被复制的次数,每被复制一次就增加1岁,默认值为15。如果设置为0的话,则Ede
中对象不经过Survivor区直接进入老年代。
收集器设置XXDisableExplicitGC:禁止在运行期显式地调用Systemgc,开启该选项后,GC的触发时机将由GarbageCollector全权掌控,默认:关闭。XXScave
geBeforeFullGC:在FullGC前触发一次Mi
orGC,默认:启用。XXUseGCOverheadLimit:限制GC的运行时间。如果GC耗时过长,就抛OutOfMemoryError。XXParallelGCThreads
:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相等。XXUseTLAB:启用线程本地缓存区ThreadLocal。XXUseSerialGC:使用串行收集器。XXUseParallelGC:使用并行收集器。XXUseParallelOldGC:使用并行压缩收集器。XXUseCo
cMarkSweepGC:使用CMS收集器。
G1收集器设置XXUseG1GC:使用G1收集器。XXMaxGCPauseMillis
:设置并行收集最大暂停时间,这是一个理想目标,JVM将尽最大努力来实现它。
fGC日志设置XXPri
tGC:开启GC日志打印。XXPri
tGCDetails:打印GC回收的详细信息。XXPri
tGCTimeStamps:打印GC停顿耗时。Xloggcfile
ame:输出GC详细日志信息至指定文件。XXUseGCLogFileRotatio
:开启GC日志文件切分功能,前置选项Xloggc。XXNumberOfGClogFiles1:设置切分GC日志文件数量,文件命名格式:01
1。XXGCLogFileSize8K:GC日志文件切分大小。
参数的意义基本已经了解,下面就讲一讲如何使我们的程序运行的更快,更稳定。1内存相关设置1首先是操作系统的选择,在32位操作系统下JVM只支持最大2GBHeap大小,所以这大大的局限了程序的运行性能。然而在64位操作系统下则没有任何限制,所以推荐使用64位操作系统。2然后是硬件方面,可以根据经济情况相应增加CPU数量及物理内存大小,这样利用并行收集器可以带来很高的垃圾清理效率。3Heap相关参数设置,大型的应用系统常常会被两个问题困扰:一个是启动缓慢,因为初始Heap非常小,必须由很多major收集器来调整内存大小;另一个更加严重的问题就是默认的Heap最大值对于应用程序来说—太可怜了‖。根据以下经验法则即拇指规则,指根据经验大多数情况下成立,但不保证绝对:1给于虚拟机更大的内存设置,往往默认的64mb对于现代系统来说太小了。2将Xms与Xmx设置为相同值,这样做的好处是GC后不用再频繁r
好听全球资料 返回顶部