JVM の memorypool コードキャッシュを監視する際のベストプラクティス
Environment
- OpenJDK
Issue
JVM のメモリープールコードキャッシュを監視する際のベストプラクティスを教えてください。 JBoss EPP の監視に zabbix を使用していますが、次のようなアラートが頻繁に表示されます。
Trigger: java 70% memorypool code cache used on c19-78
Trigger status: PROBLEM
Trigger severity: High
Trigger URL:
Item values:
- java memorypool code cache used (c19-78:jmx[java.lang:type=MemoryPool,name=Code Cache][Usage.used]): 33.6 MB
- java memorypool code cache max (c19-78:jmx[java.lang:type=MemoryPool,name=Code Cache][Usage.max]): 48 MB
- UNKNOWN (UNKNOWN:UNKNOWN): UNKNOWN
このアラートが重大な意味を持つ場合は、修正方法を教えてください。 前述したとおり、このアラートの設定を調整する必要がある場合は、ベストプラクティスを教えてください。 JBoss EPP を実行するための JVM オプションは以下のとおりです。
JAVA_OPTS="-Duser.dir=$JBOSS_HOME/server/$PROFILE/log -Djava.awt.headless=true -Djboss.shutdown.forceHalt=false -Dexo.prifiles=cluster -Djgroups.bind_addr=$JGROUPS_BIND_ADDRESS -Djboss.messaging.ServerPeerID=1 -Xms3072m -Xmx3072m -Xss1024k -XX:MaxPermSize=512m -verbosegc -Xloggc:$JBOSS_HOME/server/$PROFILE/log/date +%Y-%m-%d-%H:%M:%S
_gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$JBOSS_HOME/server/$PROFILE/log/date +%Y-%m-%d-%H:%M:%S
_heapdump.log -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+PrintClassHistogram -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true"
Resolution
JVM は、コンパイルを最適化した後に CodeCache
を使用してメソッド情報を保存します。
デフォルトの CodeCache
サイズは 420m です。
フラッシュはデフォルトで有効になっており、CodeCacheMinimumFreeSpace
(デフォルトは 500k) に到達するとトリガーされます。
アラートが持続的に発生することを回避するためには、監視をフラッシュに合わせて調整する必要があります。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments