Runaway CPU for z/OSMF

If you are experiencing runaway CPU for z/OSMF then this could be because of a heartbeat where its Liberty server polls a USS dropins folder periodically looking for dynamic extensions.
The dynamic polling can be stopped by adding/updating the file /var/zosmf/configuration/servers/zosmfServer/server.xml/ with the lines

<config updateTrigger="disabled"/>
<applicationMonitor updateTrigger="disabled" dropinsEnabled="false"/>

Joe, is this for any environment or is this limited to ZDT, real hardware or both? Also, is it z/OSMF itself that is consuming the CPU? Looks like someone might see the problem in one of the Explorer servers.

This is for any environment and it is z/OSMF itself. It is a general setting that applies to any WebSphere or Liberty server and z/OSMF is a Liberty server. It does not affect the Explorer servers that are Tomcat based in 1.0, although in our 0.9 beta releases when we did base the Explorer servers on Liberty we ran into the same problem, hence we know how to fix it. I was on a customer call last week when they were having a 2 hour startup time for z/OSMF on real hardware and huge IO, and changing this setting brought it down to a few minutes startup and reasonable IO and reasonable CPU idle time.

1 Like

I’d like to note that z/OSMF ships with the following setting. It is possible that ZOWE is configured with dropins enable to make it easier to add new web applications to the Liberty server instance in which the z/OSMF web application conglomerate runs.

<!-- Disable monitoring of files to reduce idle CPU -->
<applicationMonitor dropinsEnabled=“false” locationMonitoringEnabled=“false” updateTrigger=“mbean”/>
<config updateTrigger=“mbean”/>

There are some other things you can try, to reduce CPU and EXCP usage.

  1. Add the following in jvm.options file: of the server:

    -Xtune:virtualized
    -Xjit:iprofilerBufferSize=4096

  2. Add the following in server.xml:

    < applicationMonitor dropinsEnabled=“false” updateTrigger=“disabled”/>
    < config updateTrigger=“disabled”/>
    < automaticLibraries monitorEnabled=“false”/>