CodeCache is full. Compiler has been disabled.

2,655 views
Skip to first unread message

Bruce Kirkpatrick

unread,
Jun 18, 2012, 9:08:07 PM6/18/12
to ra...@googlegroups.com
Does running out of CodeCache memory have any impact on railo performance or functionality?  It seems my server is running out of this memory and it was using the default value for its size.   I'm running Railo 3.3.4.003 on tomcat 7 in centos 6.2 linux.

catalina.out has these warnings:

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=

Igal

unread,
Jun 24, 2012, 2:55:15 AM6/24/12
to ra...@googlegroups.com
I don't know for a fact but I would think that it can cause some issues.

if hardware permits, why not simply increase it?  the default value is 48m.  try to set it to 64m and see if you still get those messages. add to your JVM options:  -XX:ReservedCodeCacheSize=64m

Bruce Kirkpatrick

unread,
Jun 24, 2012, 9:40:35 PM6/24/12
to ra...@googlegroups.com
I did increase it to 128mb the day I wrote the original post.

The new limit hasn't been exceeded yet.  It's currently using 73mb, which is high.   I wonder what railo is compiling more of and why this memory keeps growing.

It seems like this code cache memory never gets smaller.  It doesn't seem to grow when a new cfm class is made or when a railo archive is updated.  Something else changes is using this type of memory.

James Holmes

unread,
Jun 24, 2012, 10:39:48 PM6/24/12
to ra...@googlegroups.com
The codecache is where the hotspot compiler stores native code. Java code that is re-run often is compiled by the hotspot compiler to native code to improve performance.

It's a JVM internal process and not controlled directly via Railo.



--
Shu Ha Ri: Agile and .NET blog
http://www.bifrost.com.au/

Bruce Kirkpatrick

unread,
Jun 24, 2012, 10:44:49 PM6/24/12
to ra...@googlegroups.com
The second link you said discussed using this option:
-XX:+UseCodeCacheFlushing 

I'm going to try that and go back to the default size.

James Holmes

unread,
Jun 24, 2012, 10:52:11 PM6/24/12
to ra...@googlegroups.com
Be aware that setting that option leads to a compromise in performance in order to save memory. Whether this is desirable is up to you. 

--
Shu Ha Ri: Agile and .NET blog
http://www.bifrost.com.au/


Reply all
Reply to author
Forward
0 new messages