I am using the Windows Subsystem for Linux (WSL). Recently, I've been wanting to get better insight in the CPU usage of processes, but I am getting well confused. I am on a computer with 2 cores and 4 logical cores.
In the example of CPU usage that I want to discuss, I launched 2 independant serial calculations from a DFT code (physics stuff) from 2 terminals. I have other smaller processes opened in my Windows system ( internet tabs, Thunderbird...).
if I check the CPU usage from windows' task manager, it tells me that I am using ~70% of CPU, wich seem evenly spread over the 4 logical processors.
When I use
top command on Linux, it shows me two "pw.x" processes (the calculations I was referring to) using ~100% of CPU each (!). I do not understand what those "100%" values refer to; 100% of what ? I thought it was the average over all cores being displayed. My computer is still running very smoothly, so the CPU units can not all be used up by the DFT code
If I look it up with
mpstat -P ALL, I get yet other results: it tells me that each of the 4 processors are used to ~20%-30%... How is that consistent with the Windows diagnostic ? Or with the top command ?
Cf Screenshot below for a summary (sorry for the french language on Windows):
In short, the questions:
Are these different diagnostics coherent with each other ?
can someone point me out to a reference for beginners clearly explaining the use of those monitoring commands, and what the reported quantities refer to exactly ?
Is there a command that would allow me to know which core is doing what ? I am running serial calculations (non-parallelized), and it was my understanding that the calculations are therefore processed on a single core each, but I might be wrong. If it is the case, I would like to know which core each of the calculation goes to, and how much it uses