CodeCache is full. Compiler has been disabled

I am running Openfire 3.7.1 under JRE 1.7.0 (64bit). It was running fine for a week, then I got this in the nohup.out log

Java HotSpot™ 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled.

Java HotSpot™ 64-Bit Server VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=

Code Cache [0x00007fb281000000, 0x00007fb281600000, 0x00007fb284000000)

total_blobs=1905 nmethods=1474 adapters=380 free_code_cache=43230Kb largest_free_block=44070528

Can’t see anything in the other log files to indicate what was happening. GC logs indicate the JVM was using a lot of memory:

2011-10-20T10:54:27.807-0400: 675385.284: [GC 895301K->892138K(907200K), 0.0047510 secs]

I’m going to dig into the ReservedCodeCacheSize option, but was wondering if anyone had seen this before. I am running my JRE with the following options:

/usr/java/jdk1.7.0/bin/java -server -Xms16m -Xmx2048m -Xss128k -Xoss128k -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Dsun.net.inetaddr.ttl=0 -XX:+UseLargePages -Xshare:off -XX:MaxGCPauseMillis=250 -XX:TargetSurvivorRatio=90 -XX:SurvivorRatio=5 -XX:MaxTenuringThreshold=12 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+UseTLAB -Xloggc:/opt/openfire/logs/gc.log -XX:+PrintGCDateStamps -Dtangosol.coherence.localhost=169.254.200.1 -DopenfireHome=/opt/openfire -Dopenfire.lib.dir=/opt/openfire/lib -classpath /opt/openfire/lib/startup.jar -jar /opt/openfire/lib/startup.jar