Neden jenerik veya gerçek zamanlı bir düşük gecikme çekirdeği seçmelisiniz?

93

Ubuntu Studio 12.04'ü yükledikten sonra, düşük gecikme çekirdeği kullandığını buldum. Neden ve nasıl gerçek zamanlı veya genel bir geri dönüşümü arandı. Ama Linux'un bu kısmı çok fazla ele alınmamış gibi görünüyor.

S: Niçin jenerik veya gerçek zamanlı bir düşük gecikme çekirdeği seçmeli?

PS: Zaten yanıtları bu soru ve bu yayın.

    
sordu Starx 28.04.2012 05:09

4 cevap

55
  

Bunlar, anlamanıza yardımcı olacak bazı basit kurallardır.   çekirdek ve hangi sırayla, kullanım durumunuza uyacak şekilde sınamanız gerekir.

     
  • Sisteminiz için düşük gecikme gerektirmiyorsa, lütfen -generic çekirdeğini kullanın.
  •   
  • Düşük gecikme sistemine ihtiyacınız varsa (ör. ses kaydetmek için), lütfen ilk tercih olarak -sayım çekirdeğini kullanın. Bu gecikmeyi azaltır   ama güç tasarrufu özelliklerini kurban etmiyor. Sadece için kullanılabilir   64 bit sistemler (amd64 olarak da adlandırılır).
  •   
  • -reğer çekirdeği ihtiyaçlarınız için yeterince düşük gecikme sağlamıyorsa (veya 32 bitlik bir sisteminiz varsa)   -köküm çekirdeği.
  •   
  • -lowlatency çekirdeği yeterli değilse o zaman -rt çekirdeğini denemelisiniz
  •   
  • -rt çekirdeği sizin için yeterli değilse, o zaman -realtime çekirdeğini denemelisiniz
  •   

İşte

Sanırım seninle ne yapacağına bağlı. Bazı kullanıcılar için, jenerik sadece iyi olur, çünkü o olmaz.

ÖZGÜ KONUŞMA, bu bağlantıyı okumayı deneyin: İşte

    
verilen cevap ubuntu fan 28.04.2012 05:21
45

Ubuntu hayranı tarafından bağlanan blog yayıncısının yazarıyım: İşte

Bu blog gönderisinde herhangi bir gerçek sunulmuyor, sadece teori . Aslında çalışma şekli: İşlemci, hemen müdahale gerektiren bazı süreçlerin olup olmadığını görmek için daha sık "durur". Bu, bu işlemlerin diğerlerinden önce gerçekleştirileceği anlamına gelir, bu yüzden kodlama yaparken kareleri atlamazsınız veya fare tıklamaları ile düşman ölümleri arasında büyük gecikme süreleri olmaz. Bu, tüm süreçlerin daha çabuk biteceği anlamına gelmez: aslında CPU, hangi işlemin daha sonra gerçekleştirileceğine karar vermek için zamanın daha büyük bir bölümünü kaybediyor ve içerik anahtarını yapıyor. Dolayısıyla, toplam yürütme süresi daha uzundur ve bu nedenle hiç kimse web sunucusu veya veritabanı makinelerinde önceden kestirilemeyen bir çekirdek çalıştırmaz. Fakat 300 Hz (hatta 1000 Hz) çekirdekli bir kernel oyun severler için en iyisidir.

Ancak günümüzde, işlemcilerin pek çok çekirdeği var, bu nedenle dikkat gerektiren birkaç işlem olduğunda, çekirdeği almak için beklemek yerine kolayca farklı bir çekirdeğe ayrılabilirler.

(stackexchange bana referans / kişisel deneyim gerektirir: Ben bir elektronik mühendisiyim, İşte 'de birkaç oyunervatörü çalıştıran kana susamış noobamer).

Yani, bir başparmak kuralı olarak şunu söyleyebilirim: eğer işlemciniz güçlü bir sayı-çatırdayan yüksek frekanslı dört çekirdekli ve kodlama / kod çözme / oyun oynarken genellikle web sayfalarını açmıyorsanız (huh) Sadece, jenerik (veya varsa i686 veya amd64) çekirdeği deneyebilir ve mümkün olan en yüksek verime sahip olabilirsiniz (yani, işlemcinin yapabildiği ham sayının kırılması). Sorun yaşarsanız (gerçekten küçük olmanız gerekir) veya makineniz piyasanın tepesinden biraz daha az güçlü ise, -preempt için gidin.

Yalnızca bir veya iki çekirdeği olan düşük uçlu bir makinede iseniz, o zaman -kaldırganlığı deneyin. Ayrıca -gerçek zaman deneyebilirsiniz, ancak "gerçek zamanlı" işlerini bitirene kadar süreçleri engelleme eğiliminde olduğunu göreceksiniz. Ben gerçek zamanlı çekirdeğin "vanilya" değil, ama CONFIG_PREEMPT_RT yamasının uygulanmış olduğuna inanıyorum. Gerçek zamanlı çekirdeklerin yalnızca gömülü sistemler üzerinde tek bir uygulama oluşturmak zorunda olan kullanıcılar için olduğunu düşünüyorum, bu nedenle her zamanki masaüstü kullanıcılarının gerçek faydaları olmamalıdır çünkü genellikle aynı anda çok sayıda uygulama çalıştırıyorlar.

Son olarak, düşük gecikmeli bir masaüstüne sahip olmak için çekirdeğinizi yeniden derlemek isterseniz, en alakalı çekirdek seçenekleri şunlardır:

PREEMPT=y

ve

CONFIG_1000_HZ=y

Bazı güç tasarrufu yapmak için bunu kontrol edebilirsiniz:

CONFIG_NO_HZ=y
    
verilen cevap seven 24.10.2012 22:27
6

BTW: preemt, lowlatency veya rt kernel sisteminizi daha hızlı hale getirmez. Bunlar, genel çekirdekten biraz daha yavaş .

    
verilen cevap gemue2010 28.04.2012 05:53
2

Yukarıda belirtilen belgeden ( İşte )

  1. yumuşak bir gerçek zamanlı sistem, daha düşük ortalama gecikme süresi sağlar, ancak garantili maksimum yanıt süresi değil.
  2. Zorlu bir gerçek zamanlı sistem, en kötü durumdaki sistem yükü altında bile her zaman (100 yüzde) istenen teslim tarihlerini karşılar.
  3. Yaghmour'a [4] göre, "Gerçek zamanlı, ham hız ile değil, garantilerle ilgilenir."

Makale, gerçek zamanlı çekirdek yanıt vermemesi ya da zaman sınırı için en önemli özellik olduğunu söylüyor. Bu nedenle, gecikmeye neden olan kritik olmayan aktiviteleri geciktiriyorlar, ancak düşük ya da diğer yumuşak gerçek zamanlı çekirdek için çoğu durumda yardımcı olan genel gecikmeyi azaltmaya çalışın. Azaltılmış gecikme nedeniyle sistem hızlı görünüyor. Makaleyi dikkatle okuyun.

    
verilen cevap Mayank Suman 17.08.2014 07:34

Etiketlerdeki diğer soruları oku