Terkait dengan pertanyaan yang mana yang lebih baik, penjadwal CFS atau BFS :
Di mana saya menemukan daftar penjadwal mana yang tersedia?
Dan bagaimana cara beralih di antara mereka?
Terkait dengan pertanyaan yang mana yang lebih baik, penjadwal CFS atau BFS :
Di mana saya menemukan daftar penjadwal mana yang tersedia?
Dan bagaimana cara beralih di antara mereka?
Jawaban:
Anda harus mengunduh, menambal, dan mengkompilasi kernel Anda sendiri karena BFS saat ini bukan bagian dari kernel mainline. Kernel mainline hanya berisi satu penjadwal dan tidak dimaksudkan untuk memiliki banyak penjadwal dalam basis kode yang sama, atau bahkan penjadwal yang dapat dipindahkan saat itu (itu bahkan sesuatu yang mungkin bisa dilakukan). Itu hanya akan terlalu rumit, dan tidak sepadan dengan usaha.
Jadi, untuk mendapatkan BFS di sistem Anda:
Manfaat menjalankan BFS lebih dari CFS sangat kecil, terutama dengan versi kernel yang lebih baru. Perlu diingat bahwa CFS terus ditingkatkan.
Setelah meneliti ini sedikit, tampaknya hanya ada dua penjadwal untuk Linux: CFS dan BFS .
Cara paling sederhana untuk menginstal BFS di Ubuntu 10.10 adalah patch PPA :
sudo add-apt-repository ppa:chogydan/ppa
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck
Anda juga dapat menginstal tambalan menggunakan Pusat Perangkat Lunak Ubuntu seperti yang dijelaskan dalam "Apa itu PPA dan bagaimana cara menggunakannya" .
Patch menginstal kernel baru (ditambal), yang akan muncul di menu GRUB saat boot dengan suffix "-ck". Beralih di antara penjadwal dengan me-reboot dan memilih kernel yang sesuai di menu boot.
Tentang kinerja
Dalam kasus saya, menjalankan Folding @ Home di latar belakang pada PC desktop (delapan thread F @ H pada delapan core pada Intel i7 2600K), BFS secara signifikan lebih baik: Respons desktop lebih cepat (bukan perbedaan besar, tetapi jelas terlihat) sedangkan aplikasi latar belakang F @ H 20-25% lebih cepat.
Dalam skenario ini, berhadapan dengan penggunaan desktop interaktif dan tugas-tugas berlatar belakang CPU yang lama secara bersamaan, CFS cenderung meninggalkan satu core idle untuk jangka waktu yang lama pada suatu waktu. BFS tampak jauh lebih baik dalam menggunakan semua core 100% untuk tugas latar belakang sambil tetap memberikan respon cepat untuk tugas desktop interaktif.
Mungkin tidak ada penjadwal tunggal yang akan bekerja secara optimal di bawah setiap kombinasi beban yang mungkin, tetapi ada kasus di mana BFS lebih baik.
Di bawah ini bekerja untuk saya di Precise Pangolin (Ubuntu 12.04) YMMV.
pf-kernel
Cara terbaik untuk menginstal BFS pada sistem Ubuntu hari ini (Desember 2013) tampaknya adalah menginstal pf-kernel , yang pada dasarnya adalah kernel standar dengan banyak tambalan kinerja yang diterapkan. Tambalan ini meliputi:
Saya menemukan beberapa instruksi tentang cara menginstal pf-kernel
paket untuk Ubuntu di artikel " Dapatkan Kinerja Linux Desktop Lebih Baik dan lebih banyak dengan pf-kernel ." paket. Tetapi saya menemukan utas “ pf-kernel untuk Ubuntu ” (di pk-kernel
forum) yang menyebutkan bahwa paket Debian dapat diunduh dari akun Dropbox big_bum pengguna forum .
pf-kernel
Mesin yang saya instal adalah laptop 32-bit lama, jadi saya mulai dengan mengunduh paket linux-headers
- linux-image
paket yang diperlukan dan ke direktori di komputer saya ~/kernel
.
(Buka akun Dropbox yang disebutkan di atas untuk menemukan 64 bit dan / atau versi yang lebih baru dari paket-paket ini.)
Setelah itu saya mengikuti instruksi pada " Get Better Linux Desktop Performance dan lainnya dengan pf-kernel ," dan jalankan perintah berikut:
$ cd ~/kernel
$ sudo dpkg -i *.deb
Segalanya tampak berjalan lancar, jadi saya reboot.
Pemeriksaan cepat tampaknya menunjukkan bahwa itu berfungsi, mis. Perintah uname -a
melaporkan bahwa saya menggunakan pf-kernel
:
Linux siobhan 3.12.2-pf + # 6 PREEMPT SMP Senin 2 Desember 19:09:52 EET 2013 i686 i686 i386 GNU / Linux
Dan cat /sys/block/sda/queue/scheduler
menunjukkan bahwa BFQ sekarang adalah penjadwal disk saat ini (untuk sda
disk):
noop deadline cfq [bfq]
Patch dan instal kernel baru dengan BFS. Anda harus menggunakan kernel sepatare, tidak ada cara untuk menggunakan keduanya di kernel image yang sama (terutama untuk swith on-the-fly)