1

If I plan to run eight applications on an eight core machine and expect all applications to utilise 100% cpu, will the OS "get enough time" for its own tasks or should I instead run seven applications on the machine and leave one core for the OS, so to speak?

The applications will not do any disk i/o to speak of, but a lot of network i/o.

1 Answers1

3

The kernel will apply different priorities to specific processes. You can see this by running "top" and checking the "nice" column.

The time critical OS processes will therefore have a higher priority. Therefore, the OS will run these processes before your specific applications. This will make sure that these processes happen at the right moment.

This mechanism makes a core reservation pretty much useless.

Antoine Benkemoun
  • 7,314
  • 3
  • 42
  • 60
  • +1, "useless" is the perfect term. – womble Nov 16 '09 at 09:35
  • Yes, process priority will probably solve most things, but I guess it will also introduce "unnecessary" context switching for the application processes, right? Running all "OS processes" on one core maybe minimises this? In my original question I was also thinking more of "kernel internals" (interrupts, kernel threads, etc.) rather than processes. –  Nov 16 '09 at 11:47
  • 1
    These are legitimate questions indeed. I usually decide that the kernel is smarter then me and I leave things as is. – Antoine Benkemoun Nov 16 '09 at 13:00