2
I found only a single core as identified by kernel from /proc/cpuinfo
. Therefore I am installing a 686 pae kernel to identify all cores and get multi-core functionality.
I read about how a process can make use of more than one core if available. ie. An application must be programmed to make use of the multi cores available on a machine.
But I wonder if a 686 pae kernel is capable to divide the total processes and 1. assign a set of processes to different cores
2. share a process between different cores
which can reduce the work of each core. This will in fact reduces the processes in queue and complete processes faster. Can a kernel that support multiprocessing achieve this and help reduce the cpu overhead ?
Any other methods I can follow for effectively sharing processes between the cores ?
You said that all major operating systems can do this with task scheduling. So regardless of the application and with the increase in cpu load, a linux kernel is capable to use the other cores for processing, provided it is -686 release ? Secondly, even if only a single core is detected, if the cpu load avg is below .70 then -486 kernel is well enough I hope. Unless there is any other specific reason to enable the other cores. – paintbox – 2014-02-04T05:05:52.397
@FayadFami yes, the most recent Linux kernel uses this type of scheduler; it should work the same in both the -686 and -486 releases (the number of cores is irrelevant, they use the same scheduler). Note though, you won't get a performance increase at all - this only allows the operating system to simultaneously run other processes with less performance loss. – Breakthrough – 2014-02-04T17:07:14.003
You may also find these related questions useful as well: Why does CPU Time for the System Idle Process increase faster than the wall clock? and What does CPU usage for a process actually mean.
– Breakthrough – 2014-02-04T17:10:20.687