May 2017
Beginner
552 pages
28h 47m
English
The task scheduler is optimized for a desktop environment, where a fast response to a user is more important than overall efficiency. Increasing the time a task stays resident improves the performance of server systems. The following example examines the value of kernel.sched_migration_cost_ns:
$ sysctl.kernel.shed_migration_cost_ns
kernel.sched_migration_cost_ns = 500000
The kernel_sched_migration_cost_ns (and kernel.sched_migration_cost in older kernels) controls how long a task will remain active before being exchanged for another task. On systems with many tasks or many threads, this can result in too much overhead being used for context switching. The default value of 500000 ns is too small for systems running ...