ASM 5.0.3 JSRInlinerAdapter快速填充代码缓存

时间:2016-02-17 05:27:41

标签: java assembly jvm java-bytecode-asm

在使用ASM 5.0.3 / Java 1.7_80 / Apache Tomcat-6.0.35检测java Web应用程序时,我遇到了一个奇怪的问题。

服务器在1或2天内启动后代码缓存内存完全填满100%并且从不收集垃圾。相同的是没有仪表的验证,它工作正常&代码缓存永远不会填满100%

我正在使用" JSRInlinerAdapter "在我的仪器代码中。由于我的应用程序包含 48到51 (1.4到1.7)

的所有类文件版本

我的问题是 - 当JIT编译器编译这些方法时,代码缓存内存是否填充了内联方法? (因为我使用 JSRInlinerAdapter )?

其他信息

我正在使用以下VM参数

-Djava.util.Arrays.useLegacyMergeSort=true 
-XX:+UseCodeCacheFlushing 
-Djsse.enableCBCProtection=false 
-XX:NewSize=384m 
-XX:MaxNewSize=384m 
-XX:PermSize=384m 
-XX:MaxPermSize=384m 
-XX:+DisableExplicitGC 
-XX:MaxGCPauseMillis=400 
-XX:MaxGCMinorPauseMillis=100 
-XX:+UseG1GC 
-XX:+UnlockDiagnosticVMOptions 
-XX:+G1SummarizeConcMark 
-XX:+UseTLAB -XX:NewRatio=3 
-XX:+UseCMSInitiatingOccupancyOnly 
-XX:InitiatingHeapOccupancyPercent=30 
-XX:ConcGCThreads=5 
-XX:ParallelGCThreads=20 
-XX:+UseFastAccessorMethods 
-XX:+UseAdaptiveGCBoundary 
-XX:+UseStringCache 
-XX:+AggressiveOpts 
-Xms1536m 
-Xmx1536m 

快速填写代码缓存的原因是什么?

0 个答案:

没有答案