Ideas to limit CPU usage of executors? Specific jobs are shutting down executors

Hello @misterhd ,

In the KNIME Admin Guide [1] , there are parameters that can be added to the executor to control max CPU and heap utilization thresholds.

-Dcom.knime.enterprise.executor.heapUsagePercentLimit=<value-in-percent e.g. 90>

The average Heap space usage of the executor JVM over one minute. Default 90 percent

Env: KNIME_EXECUTOR_HEAP_USAGE_PERCENT_LIMIT=<value-in-percent e.g. 90>

-Dcom.knime.enterprise.executor.cpuUsagePercentLimit=<value-in-percent e.g. 90>

The average CPU usage of the executor JVM over one minute. Default 90 percent.

Env: KNIME_EXECUTOR_CPU_USAGE_PERCENT_LIMIT=<value-in-percent e.g. 90>

This only controls if it accepts new jobs. “By default an Executor will not accept new jobs any more if its memory usage is above 90% (Java heap memory) or the average system load is above 90% (averaged over 1-minute).”

Once the executor accepts a job, if it is driving the CPU utilization up to 1451%, then I’d say you need to look at the workflow specifically and see what it is doing and figure out how to either break it down into smaller chunks or split it into separate callable workflows that can take advantage of your DE setup.

Regards,
Nickolaus

[1] KNIME Server Administration Guide