Neden 12.04 -server çekirdek lezzetini kaldırıyor?


13

Ubuntu, 12.04 sürüm notlarında belirtildiği gibi -server lezzetini kaldırıyor:

Beta-1'de olduğu gibi, Beta-2 çekirdeği artık ayrı amd64 -server ve -generik çekirdek lezzetleri taşımamaktadır. Bunlar, bu LTS salımının ömrü boyunca bakım yükünü azaltmaya yardımcı olmak için tek-jenerik bir çekirdek aroması ile birleştirilmiştir.

: -Generic ve -sunucu arasındaki farklar üzerinde belirtildiği gibi, zamanlayıcı kesmeyi ve i / o zamanlayıcı preempting ilişkili gibi görünmektedir https://help.ubuntu.com/10.10/serverguide/C/preparing-to-install .html # intro-çekirdek-diffs

Teknik özellikler istiyorum.

  1. Peki şimdi ne olacak?
  2. Sunucu sürümü masaüstü çekirdeğini performans cezası olmadan çalıştırır mı?
  3. Bu bir şekilde haklı mı?
  4. Bu farklılıklara ne olur?
  5. Kullanıcı alanında değiştirilebilirler mi?
  6. 12.04 itibariyle geçerli değil mi?
  7. Cevabınız evet ise, bu değişiklik performans cezası içeriyor mu?

Hepsi cevaplanabilecek sorular. Bir pakette belirli bir değişiklik istiyorum, başka bir şey değil.

Yanıtlar:


10

Sürüm duyurularında fark ettiğiniz gibi, genel ve sunucu çekirdek lezzetleri, LTS'nin ömrü boyunca bakım yükünü azaltmak amacıyla 12.04 sürümü için birleştirildi. İki çekirdek aroması aslında sadece 2 ana çekirdek yapılandırma seçeneği açısından farklıydı: varsayılan G / Ç zamanlayıcı ve önleme modeli.

Bu konu Ubuntu Çekirdek Ekibi posta listesinde ayrıntılı olarak tartışıldı

Bu iş parçacığında belirtildiği gibi, varsayılan G / Ç zamanlayıcısı "son tarih" ten "cfq" olarak değiştirildi. Ancak, Son Tarih I / O zamanlayıcısına bağlı kalmak isteyen herkes önyükleme sırasında ayarlayarak bunu yapabilir elevator=deadline.

Önleme modeli CONFIG_PREEMPT_NONE iken CONFIG_PREEMPT_VOLUNTARY olarak değiştirildi. Şu anda, maalesef sizi işaret edecek performans ölçütlerim yok. Umarım bu biraz yardımcı olur. Teşekkürler.


7

"Neden" sorunuz, verdiğiniz teklifle yanıtlanır - çünkü bu şekilde devam etmek daha kolaydır. Çekirdek işlevselliği oldukça iyi parametrelendirilmiştir, çalışma zamanında zamanlayıcı gibi şeyleri değiştirebilirsiniz, bu nedenle farklı varsayılanların derlenmesine gerek yoktur.

Tam nedenler ve ayrıntıların tartışılması için Ubuntu KernelTeam posta listesinde sormanız gerekir - iletişim bilgileri için bilgi veren KernelTeam Wiki sayfasına bakın.


2

Şimdi olan şey, hem sunucu hem de masaüstü için sadece bir çekirdek olmasıdır. İsterseniz IO zamanlayıcısı çalışma zamanında değiştirilebilir, ancak CFQ en tam özellikli ve aktif olarak bakımı yapılan zamanlayıcıdır, bu nedenle iyi bir varsayılan değerdir. Hangisini kullandığınız çoğu iş yükünde çok az fark yaratır. Sunucu çekirdeği, gönüllü çekirdek önemesini bile devre dışı bırakırdı çünkü teorik olarak birazdaha iyi verim, ancak aslında orada herhangi bir fayda gösteren herhangi bir performans ölçümünün farkında değilim, bu yüzden pratikte, sunucular masaüstü premption modeline geçmekten etkilenmeyecek. Çekirdek de gıcırtılıdır (CONFIG_NO_HZ), yani zamanlayıcı kesintilerini sabit bir aralıktan ziyade şu anda çalışan uygulama zamanlayıcılarına dayanarak zamanladığında zamanlaması anlamına gelir ve sunucu kılavuzunun söylediklerine rağmen bunun birkaç sürüm için geçerli olduğuna inanıyorum. .

TL; DR: Sunucular için başka bir çekirdeğin korunmasının hiçbir faydası yoktu, bu yüzden uygulama durdu.


G / Ç zamanlayıcı , özellikle sanallaştırma iş yükleri için bir fark yaratır. Buraya bir göz atın: publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/… , sonuçta "genel olarak, son tarih I / O zamanlayıcısının CFQ I / O zamanlayıcısından daha iyi performans gösterdiğini gösteriyor. msgstr "çok iş parçacıklı senaryolar" .
syneticon-dj
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.