CFS ve BFS zamanlayıcıları arasında nasıl geçiş yapabilirim?

17

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?

    
sordu j-g-faustus 03.03.2011 19:04

4 cevap

7

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:

  • Çekirdeği al: İşte
  • Çekirdek sürümünüz için en son BFS düzeltme ekini edinin: İşte
  • Yama, derleyin ve yeni çekirdeğinizi önyükleyin.

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.

    
verilen cevap Cedric 06.03.2011 17:16
9

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

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.

    
verilen cevap j-g-faustus 19.03.2011 10:47
3

Aşağıda, benim için Hassas Pangolin (Ubuntu 12.04) YMMV'de çalıştım.

BFS, 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:

  • BFS (CPU zamanlayıcı 16'dan az CPU'lu makinelerde düşük gecikme sağlar çekirdekler)
  • BFQ (Ağır yükler altında düşük gecikme süresi için optimize edilmiş I / O disk zamanlayıcısı)
  • TuxOnIce (daha hızlı hazırda bekletme)

Web'deki Talimatlar

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.

Çalışıyorsa Kontrol Ediliyor

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] 
    
verilen cevap zrajm 19.12.2013 04:16
1

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)

    
verilen cevap user11924 06.03.2011 16:53

Etiketlerdeki diğer soruları oku