We've faced with constantly growing of NonProfiledMethods CodeCache area. It's look like some kind of leak, because there is no difference of how much space would be configured for this area – it's just growing. I tried to fix it by using XX:NmethodSweepActivity JVM option with no success, the grows has slowed down but still exists. We haven't seen such kind behaviour if 6.x version. You can find configs and screenshot as attachments. Also here you can download CodeHeap Analytics which I've just got with
1. Have you run out of ReservedCodeCache before? I believe the JVM compiler will be disabled and everything will be interpretted. Though I don't know if there's any harm in the cache being 85-90% full.
2. In the screenshot you gave, have any Jruby instances hit their max-requests limit and been recycled? I would expect to see significant turn over in the code cache after a JRuby instance is destroyed. Any logs you can provide that can correlate codecache usage and JRuby recycling would be valuable. (There should be an INFO level log line that matches /Creating JRubyInstance with id (\d+)/. Conversely, I would expect more marginal code paths to be compiled to the codecache the longer the a JRuby instance is alive, which a logarithmic increase like your image shows.