Sobes.tech
Middle

How is 146% distributed across 10 cores?

sobes.tech AI

Answer from AI

If a Go program shows CPU usage over 100%, for example 146%, it means that it is using more than one CPU core simultaneously. The value of 146% indicates that a total of 1.46 cores are being used across all cores.

With 10 cores, the maximum CPU usage can be up to 1000% (10 × 100%). 146% is approximately 1.46 cores out of 10.

The load distribution across cores depends on the OS scheduler and the parallelism in the program. For example, if you have 10 goroutines actively working, they can be distributed across cores as follows:

  • 1 core loaded at 100%
  • 1 core loaded at 46%
  • the remaining cores are almost not loaded

Alternatively, the load can be more evenly distributed, but the total still amounts to 146%.

Thus, 146% is the total CPU usage, not a fixed distribution across cores. The Go runtime and the OS manage the thread distribution across cores themselves.