CPU Underutilization and Slow Loops


I’m running a stock pattern recognition loop, and it’s been very slow. When I dive in, I’ve found that KNIME is using less than 5% of my CPU. I created a workflow to isolate this loop, and then tried a parallel chunk loop around it, but they are both incredibly slow. The parallel version seems to be even slower.

What can I do to speed this up? Why might KNIME not be using even a significant amount of the CPU resource available to it?

My system stats are as follows:

KNIME Version: KNIME 5.1.1
Computer Processor: Intel(R) Core™ i9-10900KF CPU @ 3.70GHz
Installed RAM: 128 GB (128 GB usable)
Nodes Not Using 100 Percent CPU.knwf (100.8 KB)
Test File for Python Nodes2.xlsx (126.5 KB)

Hi @sjames58 -

Thanks for the workflow and sample data. Let me see if I can find someone to dig in further and reproduce. Thanks for your patience!

Hello sjames58,

I tried to recreate the issue using the workflow and sample data provided by you, but unfortunately, I could not do so. When I ran the workflow on KNIME AP version 5.1.2, it executed without significant issues, and at times, the CPU utilization exceeded 20%.

Can you try increasing the memory allocation to Knime:

Locate KNIME.ini and edit the file

  1. On Windows, the KNIME.ini file is usually found in the KNIME installation directory. On macOS, right-click the KNIME application icon and select “Show Package Contents.”
  2. The line for memory allocation starts with “-Xmx” and “-Xms”. (The flag Xmx specifies the maximum memory allocation pool for a Java virtual machine (JVM), while Xms specifies the initial memory allocation pool)
    -Xmx16g :- memory allocation to 16GB.


1 Like

Hello @k10shetty1 ,

Thank you for the response. I checked my .ini, and the xmx is set to over 65GB.

I appreciate the look, though.


This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.