Code Cache相关知识总结
2018-01-02 16:12
169 查看
codecache代码缓存区,主要存放JIT所编译的代码,同时还有Java所使用的本地方法代码也会存储在codecache中.不同的jvm、不同的启动方式codecache的默认值大小也不尽相同。
* jdk8中server模式默认采用分层编译方式,如果需要关闭分层编译,需要加上启动参数-XX:-TieredCompilation
相关参数
-XX:ReservedCodeCacheSize设置codeCache的size大小,-XX:+UseCodeCacheFlushing启用code cache的回收机制。
由于JIT是随着代码被调用的次数达到CompileThreshold之后进行的,因此,codecache使用也会随之增加,常见的问题就是,随着时间的推移应用占用CPU会随之增高,请求相应变慢等问题,这时就需要考虑codecache的问题了。
相关优化请参考:
https://docs.oracle.com/javase/8/embedded/develop-apps-platforms/codecache.htm http://blog.leanote.com/post/zenglingshu/%E4%B8%80%E4%B8%AART%E4%B8%8B%E9%99%8D%E7%9A%84%E5%A5%87%E6%80%AACase%5B%E8%BD%AC%5D
JVM 版本和启动方式 | 默认 codeCache大小 |
32-bit client, Java 8 | 32 MB |
32-bit server, Java 8* | 48M |
32-bit server with Tiered Compilation, Java 8 | 240 MB |
64-bit server, Java 8* | 48M |
64-bit server with Tiered Compilation, Java 8 | 240 MB |
32-bit client, Java 7 | 32 MB |
32-bit server, Java 7 | 48 MB |
32-bit server with Tiered Compilation, Java 7 | 96 MB |
64-bit server, Java 7 | 48 MB |
64-bit server with Tiered Compilation, Java 7 | 96 MB |
相关参数
-XX:ReservedCodeCacheSize设置codeCache的size大小,-XX:+UseCodeCacheFlushing启用code cache的回收机制。
由于JIT是随着代码被调用的次数达到CompileThreshold之后进行的,因此,codecache使用也会随之增加,常见的问题就是,随着时间的推移应用占用CPU会随之增高,请求相应变慢等问题,这时就需要考虑codecache的问题了。
相关优化请参考:
https://docs.oracle.com/javase/8/embedded/develop-apps-platforms/codecache.htm http://blog.leanote.com/post/zenglingshu/%E4%B8%80%E4%B8%AART%E4%B8%8B%E9%99%8D%E7%9A%84%E5%A5%87%E6%80%AACase%5B%E8%BD%AC%5D
相关文章推荐
- DataGrid相关知识总结(收集)
- Oracle内存组件与进程的相关知识总结
- SQLite3中自增主键相关知识总结
- python中import的相关知识总结
- Android——TabHost(标签容器)相关知识总结贴
- 拷贝构造函数相关知识总结
- WinForm开发,窗体显示和窗体传值相关知识总结 (转)
- 【转载总结】关于泛型基类的相关知识
- Java容器学习笔记(二) Set接口及其实现类的相关知识总结
- Android——界面特效 相关知识总结贴
- Linux下线程相关知识总结
- Java容器学习笔记(二) Set接口及其实现类的相关知识总结
- 操作系统相关知识的总结
- 嵌入式arm学习总结(二)--arm相关知识
- Unicode相关知识总结
- 总结:关于Sizeof的相关知识
- android数据库相关知识总结
- java常用类与集合框架相关知识总结
- 【转载总结】关于泛型基类的相关知识
- PHP对象相关知识总结