PercentageOfTimeCollectorIsRunning: This is useful for analyzing the CPU activity caused by the GC and the stress on the GC. The primarily interesting metrics there to monitor are the following: To monitor the CPU activity of Azul Zulu Prime JVM's concurrent GC in more detail over JMX or to view the stress on the GC, special MXBeans are available by adding the following command line option" Further details: on MemoryPoolMXBean the attribute "max" stays constant and equals -Xmx but on MemoryMXBean the attribute "max" will also grow above -Xmx when Contingency Memory is actively used under high memory pressure.Īzul Zulu Prime JVM Metrics from JMX MBeans If your monitoring calculates percentages, that detail is important to avoid calculation errors or unintended negative values. You might only need to increase the percentage of the warning threshold to avoid false alerts.Īdditional note when enabling Azul Zulu Prime JVM's ZST component where the feature Contingency Memory is available by default: Under high memory pressure, the attribute value "used" can grow larger than 100% on Azul Zulu Prime JVM with ZST as there Contingency Memory is available to cover situations when applications temporarily need more heap than assigned by -Xmx. But for detecting application memory leaks and long term trend analysis those metrics are still valuable. But it means on the monitoring side that you'll notice higher values on the MXBean attribute "used" on Azul Zulu Prime JVM than on other GCs which add pauses. That's a normal and desired behavior for any concurrent GC as it increases application performance. If your monitoring system is already tracking the Java application heap utilization over JMX, for example to detect application memory leaks, the standard Java MXBeans like the following can be continued to be used on Azul Zulu Prime :Īs Azul Zulu Prime JVM's Garbage Collector always runs concurrently to the application, the application continues to allocate memory while the GC is running. Here an example using the open source datamash tool to collect the P50, P99, P99.9 and maximum of the pause times and skipping the first 60 seconds of warmup time: grep safepoint.*Total gc.log \ Often a statistical analysis of those times is interesting, for example the percentiles to compare with performance SLAs. On Java 11 and newer, just the following is used, which includes log rotation by default: -Xlog: gc,safepoint: gc.logĭetails about changing the log rotation defaults: Įxample line from the Java 11 gc.log: grep safepoint.*Total gc.log \ Xloggc:gc.log -XX: UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=20MĮxample line from the Java 8 gc.log: $ grep -E 'Total time.*stopped' gc.logġ2.836: Total time for which application threads were stopped: 0.0000602 seconds, Stopping threads took: 0.0000074 seconds On Java 8: -XX: PrintGCApplicationStoppedTime On Azul Platform Prime no problematic pauses are expected as with its special GC algorithm the short synchronization steps for phase transitions inside the JVM are independent of the heap size and in most practical use cases are not exceeding single digit ms (1/1000 s). The following OpenJDK standard command line option for monitoring application pauses caused by the GC and Safepoints also works on Azul Platform Prime. Those tools are intended for interactive analysis or analyzing recorded data or logs.įor continuous monitoring of production systems, the methods described below exists: FlightRecorder (JFR) combined with Mission Control (ZMC). This article talks about ways to monitor the Azul Zulu Prime JVM.Īzul Zulu Prime JVM includes the following tools for analyzing the JVM metrics and performance: In addition, monitoring the JVM helps to detect trends early, before the application metrics are affected. Many components and factors have an influence on those metrics and the JVM is only one of them, but an important one. Those need to be measured from the outside with the perspective of the user. For others it is throughput or both combined. An important metric to monitor for many applications is the application response time.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |