JVM CodeHeap 中 C2 编译代码因 CodeCacheFlush 导致性能回退?CompileThresholdScaling 与 TieredStopAtLevel 调优 大家好,今天我们来深入探讨一个 JVM 性能调优中常见但又容易被忽视的问题:C2 编译代码因 CodeCacheFlush 导致的性能回退,以及如何通过 CompileThresholdScaling 和 TieredStopAtLevel 这两个参数进行调优。 CodeCache 的作用与 CodeCacheFlush 的产生 首先,我们需要了解 CodeCache 在 JVM 中的作用。CodeCache 是 JVM 专门用于存储 JIT (Just-In-Time) 编译器编译后的本地代码的区域。HotSpot JVM 中,JIT 编译器主要有两个:C1 编译器 (Client Compiler) 和 C2 编译器 (Server Compiler)。C1 编译器主要进行简单的优化,编译速度快,但优化程度较低;C2 编译器则进行更激进的优化,编译速度较慢,但优化后的代码性能更高。 当 JVM 运行 …
继续阅读“JVM CodeHeap中C2编译代码因CodeCacheFlush导致性能回退?CompileThresholdScaling与TieredStopAtLevel调优”