作者KekeMonster (KekeMonster)
看板java
标题Re: [问题] JVM的校调
时间Fri Sep 19 10:27:14 2014
※ 引述《ireullin (raison detre)》之铭言:
: 小弟最近在研读一些关於JVM校调的文章
: 但是有几个地方有点疑问搞不清楚
: 想请教一下大家厘清一下观念
: 1. 以jdk7来说目前可以主要的GC有
: Serial GC
: Parallel GC
: Parallel Old GC (Parallel Compacting GC)
: CMS
: G1
: 是否每个执行的程式只能指定使用一种GC?
: 如果我同时下了以下这样的参数
: -XX:+UseParallelGC
: -XX:+UseConcMarkSweepGC
: -XX:+UseG1GC
: 会发生甚麽结果
这是针对 JVM 的设定,
如并不是针对 "执行的程式",
你应该是要了解 JVM 里面运作的程式普遍需要的特性 (throughput/latency),
以及执行时期的压力及硬体环境去决定选用的 GC 演算法
: 2. 承第一个问题
: 如果我下了不存在或是无用的option
: 是否有地方可以看到错误讯息
: 目前我看好像没有
你可以看 GC log 或者是透过 JConsole 确认最终设定的结果
: 3. 分代处理的观念
: 是每一个GC都这样做吗
: 因为我好像有看到一些文章有说
: G1中并没有分代处理的观念
G1 也有针对不同的世代做处理,
一样有分成 minor/major/full GC
: 4. 在每一个generation所使用的回收演算法都是一样的?
: Mark-Sweep
: Copying
: Mark-Compact
: 是否会在不同generation使用不同的演算法
: 目前看到的演算法都是跟着GC的
看不懂在问什麽..
CMS 一定是针对 old gen 进行的 major GC,
CMS young gen 的处理方式跟 UseParallelGC(PS Scavenge) 类似,
都是采多绪 GC
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.59.250.101
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1411093637.A.915.html