What are ReservedCodeCacheSize and InitialCodeCacheSize?(ReservedCodeCacheSize 和 InitialCodeCacheSize 是什么?)
问题描述
谁能解释一下JVM选项 ReservedCodeCacheSize
和 InitialCodeCacheSize
是什么?具体来说,我何时/为什么要更改它?如何确定合适的尺寸?
Can someone please explain what the JVM option ReservedCodeCacheSize
and InitialCodeCacheSize
are? Specifically when/why would I want to change it? How do I decide what the right size is?
这是文档所说的:
-XX:ReservedCodeCacheSize=32m 保留代码缓存大小(以字节为单位)- 最大代码缓存大小.[Solaris 64 位、amd64 和 -server x86:2048m;在 1.5.0_06 及更早版本中,Solaris 64 位和 and64:1024m.]
-XX:ReservedCodeCacheSize=32m Reserved code cache size (in bytes) - maximum code cache size. [Solaris 64-bit, amd64, and -server x86: 2048m; in 1.5.0_06 and earlier, Solaris 64-bit and and64: 1024m.]
推荐答案
ReservedCodeCacheSize
(和 InitialCodeCacheSize
)是(即时)编译器的一个选项Java 热点虚拟机.基本上它设置编译器代码缓存的最大大小.
ReservedCodeCacheSize
(and InitialCodeCacheSize
) is an option for the (just-in-time) compiler of the Java Hotspot VM. Basically it sets the maximum size for the compiler's code cache.
缓存可能已满,这会导致如下警告:
The cache can become full, which results in warnings like the following:
Java HotSpot(TM) 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled.
Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=
Code Cache [0x000000010958f000, 0x000000010c52f000, 0x000000010c58f000)
total_blobs=15406 nmethods=14989 adapters=362 free_code_cache=835Kb largest_free_block=449792
当出现 Java HotSpot(TM) Client VM 警告:异常 java.lang.OutOfMemoryError 将信号 SIGINT 分派给处理程序时,情况会更糟——VM 可能需要强制终止
.
何时设置此选项?
- 当热点编译器失败时
- 减少 JVM 所需的内存(因此有 JIT 编译器失败的风险)
通常您不会更改此值.我认为默认值非常平衡,因为这个问题仅在极少数情况下发生(根据我的经验).
Normally you'd not change this value. I think the default values are quite good balanced because this problems occur on very rare occasions only (in my experince).
这篇关于ReservedCodeCacheSize 和 InitialCodeCacheSize 是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ReservedCodeCacheSize 和 InitialCodeCacheSize 是什么?
基础教程推荐
- 如何使用 Java 创建 X509 证书? 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 降序排序:Java Map 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01