My servers are throwing a 'Java Virtual Machine : Code Cache Memory' alert.
Asked by Kyle Manel:

My Confluence_6.12.1 \& Jira_7.12.3 servers are throwing alerts in Troubleshooting and support tools, identifying in 'Instance health' that a problem was detected with the Java Virtual Machine \> Code Cache Memory

The information provided on both servers regarding this issue is identical.

===CONFLUENCE: On review of the link for 'How can I resolve this?'

<https://confluence.atlassian.com/confkb/health-check-jvm-code-cache-979409394.html>

The above resolution specifies increasing the ReservedCodeCacheSize property to 384, and on review of the $CONFLUENCE_INSTALL/bin/setenv.sh file, this is an easy modification to make.

My server is configured with the following, which can be changed from;

CATALINA_OPTS="-XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing ${CATALINA_OPTS}"

to the following;

CATALINA_OPTS="-XX:ReservedCodeCacheSize=384m -XX:+UseCodeCacheFlushing ${CATALINA_OPTS}"

===JIRA: On review of the link for 'How can I resolve this?'

<https://confluence.atlassian.com/jirakb/health-check-jvm-code-cache-976778141.html>

It mentions that as of Jira 7.13 and beyond (which I am not operating on), this property is set to 512 MB by default in the $JIRA_INSTALL/bin/setenv.sh file.

FOLLOW UP OBSERVATIONS:

On review of my Jira v7.12.3 server, this option is not present as it was in Confluence v6.12.1, though there is an entry for CATALINA_OPTS, which feeds from GC_JVM_PARAMETERS.

As I prefer operating within expected parameters and appropriate form during configuration; Is there an appropriate place to fit this configuration?

Operating Hypothesis;

Append the below lines to setenv.sh on Jira v7.12.3 {

CATALINA_OPTS="-XX:ReservedCodeCacheSize=512m ${CATALINA_OPTS}"

export CATALINA_OPTS

}

FOLLOW UP QUESTION:

Identifying that this may be erroneous, for either or both, of our instances for 10 users, which should not be significantly constrained by RAM, and that are operating within constrained resources, how can I determine the impact of this issue, AS WELL AS that of its' solution?


Answers:
author: Brant Schroeder
body: Kyle,

If you update the app you should no longer see the issue. I believe you are just dealing with a bug that Atlassian is working to resolve. Here are the notes from the latest update: Remove JVM Code Cache Healthcheck that was introduce in ATST version 1.21.0

comments: author: Kyle Manel
body: I note that this article;  
<https://confluence.atlassian.com/jirakb/health-check-jvm-code-cache-976778141.html?_ga=2.117340614.1116156043.1574282414-1806774194.1532977478>  
mentions;  
'Starting from 7.13, this property is set to 512 MB by default in setenv.sh'

And noting that my server is running 7.12.3, I am still curious if the suggested appended lines are practical, or if they are unnecessary on v7.12.3, in particular as this value may have no meaning in a future update;

CATALINA_OPTS="-XX:ReservedCodeCacheSize=512m ${CATALINA_OPTS}"

export CATALINA_OPTS


author: Kyle Manel
body: Also, I am curious how this error is resolved, as the machine is not under any load at present, yet this message appears in its health check regardless, so I suspect it is visible because of a log entry, not because of operating environment limitations, and to clear it would require removing the logs?


Tags: confluence-server

server