2

It loads 100% from one of the CPUs at a time. Is that on purpose? Shouldn't it try to do 25/25/25/25?

It's an Intel i5-3320M - 2,60GHz x 4

My friend on a win10 is load-balancing 'correct' loading the same file. (it's an insanely huge .osm that we're parsing in IntelliJ)

Image of my System monitor

Zanna
  • 72,312
Seyb
  • 33

3 Answers3

3

4 × 0.25 is the same as 1.

It looks like a single-threaded task is scheduled to run on multiple CPUs in a round-robin manner, which is what Windows does to distribute computational and therefore electrical and thermal load between different chip areas to improve heat dissipation. This has nothing to do with multi-threading and is just an artefact of the different scheduling strategies of Windows and Linux.

David Foerster
  • 36,890
  • 56
  • 97
  • 151
1

It looks like you have one very busy (not multi-threaded) program that occupies one cpu. I bet you find one process with almost 100% CPU load in an abnormal state ("almost crashed") - e.g. Firefox with a lot of open tabs and JavaScript sucking power. Running ps aux on the console should give you the culprit. The steadily increasing memory consumption might also be caused by this process. Most other processes run more or less well distributed on the other CPUs, giving you the 10-20% load to be expected.

sruetti
  • 171
  • 1
  • 1
0

That is possible only if the program allows multi-threading. If the task itself does support muliti-threading, then it cannot be parallelized. For example, Newton-Raphson method.

But, your cpu does not primarily use the same core everytime, but chooses one of the cores randomly for the program. For example time, a different core reaches 100% when the program is run every time.

System Monitor Graph:

enter image description here

spharish
  • 435