OS: Tuning Completely Fair scheduler CFS

From OnnoWiki
Jump to navigation Jump to search

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 parameter 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.

Untuk melihat parameter kernel yang ada dapat menggunakan perintah

# sysctl -A | more

atau

# sysctl -a | more


Referensi

Pranala Menarik

Secara Umum

Instalasi Linux

Compile Kernel

Remaster Linux

Sistem Operasi untuk Embedded

Membuat Firmware Sendiri

Flash ke Device

Beberapa Tip

Tuning Kernel

Tuning Kernel Scheduler

Tuning I/O Scheduler

Tuning Manajemen Memory

Android

Membuat Kernel Module

Monitoring & Benchmark