请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

提升吞吐量

老师您好,还是这个Parallel Scavenge提高吞吐量我不太理解。
就是您说:吞吐量=(CPU运行用户代码时间)/
(CPU运行用户代码时间 + CPU用于GC的时间)
要使吞吐量提高,不就是减小分母,也就是减小GC时间么,而新生代是stop-the-world,GC时间就是用户线程停顿时间,所以不就还是关注的是“用户停顿时间”吗?
不知道我哪里理解出了问题,望老师求解!

正在回答 回答被采纳积分+3

2回答

梁永紫萱 2020-04-12 10:58:26

GC停顿时间缩短是以牺牲吞吐量和新生代空间来换取的:系统把新生代调小一些,收集300MB新生代肯定比收集500MB快吧,这也直接导致垃圾收集发生得更频繁一些,原来10秒收集一次、每次停顿100毫秒,现在变成5秒收集一次、每次停顿70毫秒。停顿时间的确在下降,但吞吐量也降下来了

1 回复 有任何疑惑可以回复我~
翔仔 2020-03-26 01:54:53

同学好,吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间) 这里面的垃圾收集时间,包括了用户线程停顿的时间外加垃圾回收时候用户线程不需要停顿的时间,所以它主要关注的是减少GC时间。而CMS是关注减少用户线程停顿的时间,而垃圾回收时候用户线程不需要停顿的时间则不会去关注

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信