Difference between revisions of "OS: Tuning Completely Fair scheduler CFS"

From OnnoWiki
Jump to navigation Jump to search
Line 4: Line 4:
 
Dalam Linux Completely Fair scheduler (CFS) terdapat parameter yang dapat kita atur untuk menyesuaikan dengan kebutuhan kita.
 
Dalam Linux Completely Fair scheduler (CFS) terdapat parameter yang dapat kita atur untuk menyesuaikan dengan kebutuhan kita.
  
Parameter berikut dapat di akses melalui file sistem proc. Nilai default (dalam nanoseconds Contoh paramete adalah sebagai berikut:
+
Parameter berikut dapat di akses melalui file sistem proc. Nilai default (dalam nanoseconds). Contoh paramete adalah sebagai berikut:
  
* sched_min_granularity_ns (16000000): Minimum preemption granularity for processor-bound tasks. Tasks are guaranteed to run for this minimum time before they are preempted.
+
* sched_min_granularity_ns (16000000): Minimum preemption granularity untuk task yang processor-bound. Task di garansi untuk run / jalan minimal waktu sched_min_granularity_ns sebelum di preempt.
* sched_latency_ns (80000000): Period over which CFQ tries to fairly schedule the tasks on the runqueue. All of the tasks on the runqueue are guaranteed to be scheduled once within this period.
+
* sched_latency_ns (80000000): Perioda dimana CFQ akan mencoba untuk melakukan schedule secara fair untuk task yang ada di runqueue. Semua task di runqueue akan di garansi jalan minimal satu kali dalam perioda tersebut.
* sched_wakeup_granularity_ns (20000000): Ability of tasks being woken to preempt the current task. The smaller the value, the easier it is for the task to force the preemption.
+
* sched_wakeup_granularity_ns (20000000): Kemampuan untuk task yang bangun untuk mem-preempt task yang sedang berjalan. Semakin kecil nilainya, semakin mudah untuk sebuah task memaksa preempt task yang sedang berjalan.
  
 
Untuk memverifikasi nilai dari masing-masing parameter, gunakan perintah berikut:
 
Untuk memverifikasi nilai dari masing-masing parameter, gunakan perintah berikut:
Line 18: Line 18:
 
  # echo 20000 > /proc/sys/kernel/sched_latency_ns
 
  # echo 20000 > /proc/sys/kernel/sched_latency_ns
  
In the test environment, best results were achieved with the following values for these three parameters:
+
Dalam salah satu lingkungan test, hasil terbaik nampaknya akan di peroleh untuk nilai parameter berikut:
  
 
  kernel.sched_min_granularity_ns = 100000
 
  kernel.sched_min_granularity_ns = 100000
Line 24: Line 24:
 
  kernel.sched_latency_ns = 1000000
 
  kernel.sched_latency_ns = 1000000
  
If you want to make these changes permanent, you can modify these parameters in the /etc/sysctl.conf file and run the sysctl -p command.
+
Jika kita ingin agar perubahan ini permanen, kita perlu melakukan modifikasi parameter tersebut pada file  /etc/sysctl.conf dan jalankan perintah sysctl -p command.
  
  

Revision as of 08:28, 2 April 2013

Sumber: http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaai%2Fsaptuning%2Fsaptuningadjust.htm


Dalam Linux Completely Fair scheduler (CFS) terdapat parameter yang dapat kita atur untuk menyesuaikan dengan kebutuhan kita.

Parameter berikut dapat di akses melalui file sistem proc. Nilai default (dalam nanoseconds). Contoh paramete adalah sebagai berikut:

  • sched_min_granularity_ns (16000000): Minimum preemption granularity untuk task yang processor-bound. Task di garansi untuk run / jalan minimal waktu sched_min_granularity_ns sebelum di preempt.
  • sched_latency_ns (80000000): Perioda dimana CFQ akan mencoba untuk melakukan schedule secara fair untuk task yang ada di runqueue. Semua task di runqueue akan di garansi jalan minimal satu kali dalam perioda tersebut.
  • sched_wakeup_granularity_ns (20000000): Kemampuan untuk task yang bangun untuk mem-preempt task yang sedang berjalan. Semakin kecil nilainya, semakin mudah untuk sebuah task memaksa preempt task yang sedang berjalan.

Untuk memverifikasi nilai dari masing-masing parameter, gunakan perintah berikut:

# cat /proc/sys/kernel/sched_latency_ns

Untuk memodifikasi nilai dari masing-masing parameter, gunakan perintah berikut (misalnya)

# echo 20000 > /proc/sys/kernel/sched_latency_ns

Dalam salah satu lingkungan test, hasil terbaik nampaknya akan di peroleh untuk nilai parameter berikut:

kernel.sched_min_granularity_ns = 100000
kernel.sched_wakeup_granularity_ns = 25000
kernel.sched_latency_ns = 1000000

Jika kita ingin agar perubahan ini permanen, kita perlu melakukan modifikasi parameter tersebut pada file /etc/sysctl.conf dan jalankan perintah sysctl -p command.


Referensi

Pranala Menarik