首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReservedCodeCacheSize和InitialCodeCacheSize是什么?

ReservedCodeCacheSize和InitialCodeCacheSize是什么?
EN

Stack Overflow用户
提问于 2011-09-22 10:17:27
回答 4查看 109.6K关注 0票数 94

请有人解释一下JVM选项ReservedCodeCacheSizeInitialCodeCacheSize是什么吗?具体来说,我什么时候/为什么要更改它?我该如何决定合适的尺码?

医生们是这么说的:

-XX:ReservedCodeCacheSize=32m保留的代码缓存大小(以字节为单位)-最大代码缓存大小。Solaris 64位、amd64和-server x86: 2048 m;在1.5.0_06和更早版本中,Solaris 64位和and64: 1024 m.

EN

Stack Overflow用户

回答已采纳

发布于 2011-09-22 19:22:29

ReservedCodeCacheSize (和InitialCodeCacheSize)是Java的编译器的一个选项。基本上,它为编译器的代码缓存设置最大大小。

缓存可能已满,这会产生如下警告:

代码语言:javascript
复制
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 warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated,情况就更糟了。

什么时候设置这个选项?

当热点编译器发生故障时,

  1. ,以减少JVM所需的内存(从而冒JIT编译器故障的风险)

通常您不会更改此值。我认为默认值是相当好的平衡,因为这个问题只发生在非常罕见的场合(在我的经验中)。

票数 79
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7513185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档