“Java,标准版HotSpot虚拟机垃圾收集调优指南”对图1-1作了如下解释
红线是一个应用程序,只花费1%的时间在单处理器系统上的垃圾收集上。这意味着在拥有32个处理器的系统上,吞吐量损失超过20%。
我不明白这个数字到底是什么意思。
这是否表示在固定gc时间的情况下,GC会因暂停而影响CPU的吞吐量?
发布于 2018-09-15 03:39:20
下面是文档中的说明文本,您在其中找到了这个图表:
图1-1中的图建模了一个理想的系统,除了垃圾收集之外,它是完全可伸缩的。红线是一个应用程序,只花费1%的时间在单处理器系统上的垃圾收集上。这意味着在拥有32个处理器的系统上,吞吐量损失超过20%。洋红行显示,对于垃圾收集时间为10%的应用程序(在单处理器应用程序中,垃圾收集时间不被视为惊人的时间),当扩展到32个处理器时,会丢失75%以上的吞吐量。
图表下面的链接是:
该图形建模了一个理想的系统,除了垃圾收集(GC)之外,它是完全可伸缩的。它将处理器(x轴)的数量与吞吐量(y轴)相提并论.它包含6条标有1% GC、2% GC、3% GC、10% GC、20% GC和30% GC的标线。每一行表示应用程序在单处理器系统上用于垃圾收集的指定时间百分比相对于多处理器系统上的不断变化的吞吐量。图在它前面的文本中描述。
所以..。
因此,例如,在30%的GC级别上,一个32核心系统的吞吐量大约是硬件理论吞吐量的十分之一。它将浪费大约9/10的可用CPU时间,等待垃圾收集完成!
发布于 2022-02-18 15:54:39
重要的是Amdahl定律,它指出“优化系统的单个部分所获得的总体性能改进受实际使用改进部分的时间的限制”。
你可以算出图表。
https://stackoverflow.com/questions/52340875
复制相似问题