gpt4 book ai didi

java - 如果-XX :+UseCodeCacheFlushing is not used? 是否会刷新JVM中的CodeCache

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:34 27 4
gpt4 key购买 nike

我正在使用 jconsole 监控 javaDB(derby),我的 java 版本是 1.6.0_27。

正如我在本文中所读到的,CodeCache is full. Compiler has been disabled :

  • 我认为如果没有 -XX:+UseCodeCacheFlushing,CodeCache 将不会被刷新
  • -XX:+UseCodeCacheFlushing 直到 1.7.0_4 才自动开启。

但是 jconsole 显示 CodeCache 使用下降,这让我感到惊讶:

CodeCache Usage Falls Down

这有什么解释吗? CodeCache除了JIT编译方法还有什么?

最佳答案

原因可能还是选项:UseCodeCacheFlushing=true。下面是 3 版本 JDK 的默认配置:

$ java -XX:+PrintFlagsFinal -version | grep CodeCacheFlush
bool UseCodeCacheFlushing = true {product}

Java 版本“1.8.0_25”Java(TM) SE 运行时环境(build 1.8.0_25-b18)Java HotSpot(TM) 64 位服务器 VM(构建 25.25-b02,混合模式)

$ ./java -XX:+PrintFlagsFinal -version | grep CodeCacheFlush
uintx CodeCacheFlushingMinimumFreeSpace = 1536000 {product}
intx MinCodeCacheFlushingInterval = 30 {product}
bool UseCodeCacheFlushing = true {product}

Java 版本“1.7.0_79”Java(TM) SE 运行时环境(build 1.7.0_79-b15)Java HotSpot(TM) 64 位服务器 VM(构建 24.79-b02,混合模式)

$ java -XX:+PrintFlagsFinal -version | grep CodeCacheFlush
uintx CodeCacheFlushingMinimumFreeSpace = 1536000 {product}
intx MinCodeCacheFlushingInterval = 30 {product}
bool UseCodeCacheFlushing = true {product}

Java 版本“1.7.0_51”Java(TM) SE 运行时环境(build 1.7.0_51-b13)Java HotSpot(TM) 64 位服务器 VM(构建 24.51-b03,混合模式)

关于java - 如果-XX :+UseCodeCacheFlushing is not used? 是否会刷新JVM中的CodeCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20696077/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com