请有人解释一下JVM选项ReservedCodeCacheSize和InitialCodeCacheSize是什么吗?具体来说,我什么时候/为什么要更改它?我该如何决定合适的尺码?
医生们是这么说的:
-XX:ReservedCodeCacheSize=32m保留的代码缓存大小(以字节为单位)-最大代码缓存大小。Solaris 64位、amd64和-server x86: 2048 m;在1.5.0_06和更早版本中,Solaris 64位和and64: 1024 m.
。
发布于 2011-09-22 19:22:29
ReservedCodeCacheSize (和InitialCodeCacheSize)是Java的编译器的一个选项。基本上,它为编译器的代码缓存设置最大大小。
缓存可能已满,这会产生如下警告:
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,情况就更糟了。
什么时候设置这个选项?
当热点编译器发生故障时,
通常您不会更改此值。我认为默认值是相当好的平衡,因为这个问题只发生在非常罕见的场合(在我的经验中)。
https://stackoverflow.com/questions/7513185
复制相似问题