hangisi daha iyi, CFS veya BFS zamanlayıcısı :
Hangi zaman planlarının kullanılabilir olduğunu nereden bulabilirim?
Ve aralarında nasıl geçiş yapabilirim?
hangisi daha iyi, CFS veya BFS zamanlayıcısı :
Hangi zaman planlarının kullanılabilir olduğunu nereden bulabilirim?
Ve aralarında nasıl geçiş yapabilirim?
BFS şu anda ana çekirdeğin bir parçası olmadığı için kendi çekirdeğinizi indirmeniz, yamalamanız ve derlemeniz gerekecek. Ana çekirdek, yalnızca bir programlayıcı içerir ve aynı kod tabanında, hatta anında değiştirilebilir programlayıcılarda çok sayıda zamanlayıcıya sahip değildir (bu, muhtemelen yapılabilecek bir şeydir). Sadece çok karmaşık ve çabaya değmez.
Yani, BFS'yi sisteminize almak için:
CFS üzerinden BFS çalıştırmanın yararı, özellikle de yeni çekirdek sürümleriyle çok küçüktür. CFS'nin sürekli olarak geliştirildiğini unutmayın.
Bunu biraz araştırdıktan sonra, Linux için sadece iki programcı var gibi görünüyor: CFS ve BFS .
Ubuntu 10.10’da BFS’yi kurmanın en kolay yolu PPA yamasıdır :
sudo add-apt-repository ppa:chogydan/ppa
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck
Yamayı, ayrıca " PPA nedir ve bunları nasıl kullanırım? .
Yama, "-ck" son eki ile Önyükleme menüsünde GRUB menüsünde görünecek yeni (yamalı) bir çekirdek kurar. Yeniden başlatma ve önyükleme menüsünde uygun çekirdeği seçerek zamanlayıcılar arasında geçiş yapın.
Performansta em>
Benim durumumda, bir masaüstü PC'de arka planda Folding @ Home 'u çalıştırmak (sekiz adet F @ H parçacığı) Intel i7 2600K üzerindeki sekiz çekirdeğe kıyasla, BFS önemli derecede daha iyi: Masaüstü yanıtı, daha büyük bir fark değil, ama kesinlikle farkedilirken arka plan F @ H uygulaması% 20-25 daha hızlı.
Bu senaryoda, etkileşimli masaüstü kullanımı ve uzun süre çalışan CPU ağırlıklı arka plan görevleri ile eşzamanlı olarak çalışan CFS, bir seferde uzun süre tek bir çekirdek boşta kalma eğiliminde. Etkileşimli masaüstü görevleri için hızlı yanıt verirken, BFS arka plan görevleri için tüm çekirdeği% 100 kullanırken çok daha iyi görünür.
Muhtemelen her olası yük kombinasyonu altında optimum performans gösterecek tek bir programcı yoktur, ancak BFS'nin daha iyi olduğu durumlar vardır.
Aşağıda, benim için Hassas Pangolin (Ubuntu 12.04) YMMV'de çalıştım.
pf-kernel
'sinin bir parçasıdır
BFS'yi bir Ubuntu sistemine bugün kurmanın en iyi yolu (Aralık 2013), pf-kernel Temel olarak bir grup performans bandı uygulanmış standart bir çekirdek. Bu yamalar şunları içerir:
Ubuntu için pf-kernel
paketlerinin " Daha iyi Linux Masaüstü Performansı ve daha fazlasını pf-kernel ile edinin." - Bununla birlikte, bu talimatlar, ilgili Debian paketleri için mevcut olmayan bir kaynağa işaret ettiğinden, biraz modası geçmiş. Ancak " Ubuntu için pf-kernel " iş parçacığını buldum ( pk-kernel
forumlarında) Debian paketlerinin forum kullanıcısı big_bum’un Dropbox hesabından indirilebileceğinden bahseder.
pf-kernel
yükleniyor
Yüklediğim makine eski bir 32 bitlik bir dizüstü bilgisayar olduğundan, gerekli linux-headers
ve linux-image
paketlerini makinemdeki ~/kernel
adlı bir dizine indirerek başladım.
(64 bit ve / veya bulmak için yukarıda belirtilen Dropbox hesabına gidin. Bu paketlerin daha yeni sürümleri.)
Daha sonra “ Daha İyi Linux Masaüstü Performansı ve daha fazlası ile ilgili talimatları takip ettim. pf-kernel , ”ve aşağıdaki komutları uyguladı:
$ cd ~/kernel
$ sudo dpkg -i *.deb
Her şey sorunsuz çalışıyor gibi görünüyor, bu yüzden yeniden başlattım.
Hızlı bir inceleme çalışması, örneğin, uname -a
komutu, pf-kernel
kullanıyorum bildiriyor:
Linux siobhan 3.12.2-pf + # 6 SMP PREEMPT Pzt Ara 2 19:09:52 EET 2013 i686 i686 i386 GNU / Linux
Ve cat /sys/block/sda/queue/scheduler
, BFQ'nun şimdiki disk zamanlayıcısı olduğunu gösteriyor ( sda
diski için):
noop deadline cfq [bfq]
BFS ile yeni bir çekirdek yükleyin ve yükleyin. Sepatare çekirdekleri kullanmak zorundasınız, hem de aynı çekirdek görüntüsünde kullanmanın bir yolu yoktur (özellikle de on-the-fly anında)