Skip to main content

Understanding reported CPU usage

The reported CPU percentage (CPU%) for an application is not always the sum of the CPU% of its components, and the CPU% for a node is not always the sum of the CPU% of the application it is running. That is because:

  • The CPU% for an individual component is a measure of the CPU% for the thread on which it is running. The range is 0-100% times the number of cores, so, for example, a four-core system has a theoretical upper limit of 400%, and a Striim cluster with three four-core servers has a theoretical upper limit of 1200%.

  • The CPU% for an application is aggregated from the CPU% of its components. However, some components share a thread, in which case the same CPU% will be displayed for each, but will be aggregated only once. For example, a CQ and the window it selects from run in the same thread, so if they both display 4.2%, only 4.2% will be added to the application CPU%, not 8.4%.

  • The CPU% for a server is not an aggregated value: it is the operating system's measure of the CPU usage of the JVM in which it is running. The server performs other tasks besides running component threads, so its CPU% will never equal the sum of the CPU% of the applications it is running.