企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### GC策略的评价指标 对于大多数应用领域,评估GC算法标准如下: * 吞吐量越高算法越好 * 暂停时间越短算法越好 ### 1、吞吐量(Throughput) > 应用系统的生命周期内,应用程序所花费的时间和系统总运行时间的比值。 > 系统总运行时间=应用程序耗时+GC耗时。 > 如果系统运行了100分钟,GC耗时1分钟,则系统吞吐量=99% ### 2、垃圾回收器负载 > 垃圾回收器负载=GC耗时/系统总运行时间 ### 3、停顿时间(pause times) 垃圾回收器运行时,应用程序的暂停时间 ### 4、垃圾回收频率 > 垃圾回收器多长时间运行一次。一般而言,频率越低越好,通常增大堆空间可以有效降低垃圾回收发生的频率,但是会增加回收时产生的停顿时间。**并不是频率越低越好,频率低了可能每一次垃圾收集的时间就长了** ### 5、反应时间 > 当一个对象成为垃圾后,多长时间内,它所占用的内存空间会被释放掉。 ### 6、内存占用 Java堆所占的内存大小 吞吐量、暂停时间、内存占用这三项指标共同构成了一个“不可能三角”,有点此消彼长的意思,所以**垃圾收集器的选择是根据使用场景来偏向性的选择在某个方面更为优秀的垃圾收集器**。 在这三项指标中,**暂停时间的重要性最高**,因为随着硬件的发展,内存占用越来越容易被接受,硬件性能的提升也有助于降低垃圾收集器运行时对应用程序的影响,即提高了吞吐量。所以垃圾收集器的发展过程中,对更短暂停时间最求是比较重要的