Linux process scheduling and CPU utilization
Hi All,
I have a stupid question :redface: . Linux kernel has its own process scheduler algorithms and it grants processes the chance to run based on credit algorithm, according to this algorithm the more cpu time a process accumulates the lower its priority becomes. My question: based on the above information, why we see sometimes one process eating up all CPU ? does it take high credit from the kernel ? or its instructions need more CPU cycles ? specially java programs it takes alot of cpu utilization. Thanks. |
IIRC the CFS uses a r-b tree to track process usage - if there is no process more "deserving" of using the processor, a "hungry" task will continue to get scheduled.
java is a CPU pig - well, it's just a piece of crap all round I guess ... |
Quote:
|
Hi,
Welcome to LQ! Kernel Interactive Map will help you to understand visually. If you look at Linux Kernel section of Slackware®-Links you can find several good reference links; Quote:
Two good links to books; Quote:
:hattip: |
Thank you all very much, I will go through the links you provided and read more, you were a great help.
The idea of my question was to try to understand when it is bad to have high CPU load and when this load affects server performance as long as there is a scheduling algorithm that takes care of giving the opportunity for each process to run and this algorithm want to utilize the CPU as much as possible. This is the source of my confusion I guess :) Thanks alot guys you are the best :) |
All times are GMT -5. The time now is 12:33 AM. |