Answer the question
In order to leave comments, you need to log in
One thread is stably loaded more than the rest, is this normal?
I constantly encounter reproaches saying: "Your load is unevenly distributed among the threads, one thread is knocked out of the total." The flow is stably loaded by 60-70%. The remaining 11 by 25-30%. 1)How to track. 2) Is this normal 3) in what cases is it critical
Thank you
Answer the question
In order to leave comments, you need to log in
I hope I understand the question correctly... =)
Most applications, even multi-threaded ones, don't do all the work on all available cores at once. In general, there are very few tasks that can be spread evenly across all cores at once.
For example, most web servers execute each individual request in only one thread. The same applies to any scripting engines, DBMS, etc. If there are not many requests, then the bias will be statistically one arbitrary core, then two, etc., and they will change. As the load increases, the picture should even out and reach a uniformly full load.
If this does not happen, then either there are not enough threads somewhere (there are fewer of them than the cores, and side processes cannot load the remaining cores), or there is some kind of cpu pining.
In your case, for example, it may be that a CPU-hungry application has one thread at all, and the rest do not require a lot of CPU.
This situation is bad because part of the computing power is not used when the load is higher than a certain one, and the performance is less than it could be...
Explicitly define and specify in the code the most free core for thread execution.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question