Previous on WLSDM blog, we have learned about WebLogic JMS infrastructure. In this tech blog post, let’s learn how to monitor WebLogic Java Virtual Machine (~Managed Server) resources and diagnose performance bottlenecks.

Weak JVM performance affects WebLogic domain performance directly. That’s why the host’s CPU and memory usage is very important in terms of improving WebLogic performance. Higher CPU consumption and Garbage Collection duration can cause applications to run slowly, even cause the WebLogic servers facing downtime. JVM instances in a WebLogic need to be monitored constantly and notification/alarm infrastructure must be installed as well.
WLSDM JVM System Resources and Garbage Collection out of box dashboards are available to help you.

You can monitor machines (host) and WebLogic managed servers’ Heap, CPU and Garbage Collection behavior on JVM System Resources and Garbage Collection dashboards.

WLSDM JVM System Resources Dashboard

You are able to monitor CPU Load and Memory Usage from Physical System Resources panel or monitor server instance resources one by one. Take below screen captures for your reference.

1. Go to JVM System Resources dashboard page
VM System Resources dashboard page

2. Available Panels Physical Host System Resources JVM Resources Summary Managed Server CPUHeap Usage Real time

If you want list additional ManagedServer on JVM dashboard; Open “Page Operations” menu and choose Managed Server from the list, then click “Save”. Only selected managed servers (~Applied servers) are shown on the JVM dashboard.

3. Open Page Operations window to list additional Managed Servers on JVM System Resources dashboard page

On the other hand, How to get JVM Metric reports about CPU, Heap usage for a particular date and time? Here is the recipe:

1. Go to WLSDM JVM System Resources dashboard page

2. Click “Open Metric Reports” button on Physical System Resources panel

3. Choose report date interval and click “Get Report”. “Get Report From Daily Data” is faster and all the JMX MBean metric values on WLSDM are available historically for 24 Hours by default.

4. Then navigate report results on “Report Table” and “Report Chart”

alt 4. CPU Heap Metric Reports View old values and generate JVM performance reports

5. Generate JVM Usage Reports Host and Managed Servers

Now we will configure alarm thresholds for JVM performance to get notifications.

1. Go to WLSDM JVM System Resources dashboard page

2. Click “Metric Options” button on Physical System Resources panel as below

6. Define or update JVM performance monitoring thresholds.Open Metric Options window

3. Configure metric threshold or enable/disable storing data for the relevant metrics

7. Metric Options Modal Window

8. Server MachineHOST CPU consumption email notification when its over 75

How to monitor Oracle WebLogic Server JVM (Managed Server) Garbage Collection durations (including MinorGC and MajorGC (aka FullGC) ?

1. Go to WLSDM Garbage Collection dashboard page

2. Click “Configure Minor GC Notification Settings” button (for MinorGC monitoring)

9. GC Minor and Major notification settings

3. Set alarm threshold value

4. Check email notification for “Garbage Collection” warnings

10. Garbage Collection Email Alert

WLSDM Garbage Collection Dashboard:

11. WLSDM Garbage Collection dashboard

How to generate Oracle WebLogic Heap Dump (HPROF) and CPU Sample (NPSS) ?

1. Go to “Profiling Dump” page from WLSDM menu

2. Click “Generate Profiling Dump” button on page

12. How to generate Oracle WebLogic Heap Dump HPROF and CPU Sample NPSS

3. Select server and WLSDM profiling dump action to generate HPROF and NPSS files. You can analyze NPSS and HPROF files with JVisualVM which comes out of box JDK.

13. Generate Profiling Dump and sample

Additionally, we have prepared screen cast tutorial about monitoring, managing and diagnosing WebLogic JVM instance performance and WebLogic garbage collection analytics. 

We have also prepared screen cast tutorial. Check below YouTube tutorial to learn more:

If you liked the blog post and screen-cast please share. Sharing is just caring! We care Oracle WebLogic and Java community much :)