Nach der Installation von Ubuntu Studio 12.04 stellte ich fest, dass es einen Kernel mit niedriger Latenz verwendet. Ich suchte, warum und wie ich zu einer Echtzeit- oder einer allgemeinen Version zurückkehren kann. Aber es sieht so aus, als wäre dieser Teil von Linux nicht so ausführlich behandelt worden.
F: Warum sollte man einen Kernel mit niedriger Latenz gegenüber einem allgemeinen oder einem Echtzeitkernel wählen?
PS: Ich habe die Antworten von dieser Frage und diesem Beitrag bereits gelesen .
-realtime
es Echtzeit ist, wofür steht dann-rt
? Und was ist mit dem-preempt
Kernel los? Ich danke gemue2010, er hat es ziemlich gut erklärt, aber es erklärt immer noch nicht alles.Antworten:
Ubuntu Help Source
Es kommt also darauf an, was Sie mit Ihrer Studiodistribution machen. Für die meisten Benutzer, die eine schnelle Antwortzeit für Endbenutzer benötigen, ist die Verwendung von generischem Code ausreichend. Für andere Benutzer, die eine professionelle Videobearbeitung ausführen müssen, ist der Echtzeitkernel nicht akzeptabel.
Lesen Sie diesen Link , um einen ausführlicheren, leicht verständlichen Blog-Beitrag zu erhalten
quelle
-preempt
,-rt
und-realtime
Kern nicht-mehr existierenIch bin der Autor des Blogposts, der von ubuntu fan verlinkt wurde: http://sevencapitalsins.wordpress.com/2007/08/10/low-latency-kernel-wtf/
Dieser Blogbeitrag enthält keine Fakten, sondern nur eine Theorie . Eigentlich funktioniert es so: Der Prozessor "stoppt" häufiger, um festzustellen, ob einige Prozesse sofort ausgeführt werden müssen. Das bedeutet, dass diese Prozesse vor den anderen ausgeführt werden, sodass Sie beim Codieren keine Frames überspringen oder große Verzögerungszeiten zwischen Mausklicks und Feindtod haben. Dies bedeutet nicht, dass alle Prozesse früher beendet werden: Tatsächlich verliert die CPU einen größeren Teil ihrer Zeit, um zu entscheiden, welcher Prozess als nächstes ausgeführt wird, und um den Kontext zu wechseln. Die Gesamtausführungszeit ist also länger, und aus diesem Grund wird auf Webserver- oder Datenbankcomputern kein zulässiger Kernel ausgeführt. Für Gameserver ist ein 300-Hz- (oder sogar 1000-Hz-) Kernel am besten geeignet.
Aber heutzutage haben Prozessoren viele Kerne, und wenn es nur wenige Prozesse gibt, die Aufmerksamkeit erfordern, können sie leicht einem anderen Kern zugewiesen werden, anstatt darauf zu warten, dass ein Kern diesen benötigt.
(stackexchange erfordert Referenzen / persönliche Erfahrung: Ich bin ein Elektronikingenieur und ein blutrünstiger Noobgamer, der mehrere Gameserver unter http://www.gamezoo.it betreut. )
Als Faustregel würde ich also sagen: Wenn Ihr Prozessor ein leistungsstarker Quad-Core-Hochfrequenzprozessor ist und Sie normalerweise nicht tonnenweise Webseiten öffnen, während Sie kodieren / dekodieren / spielen (huh), könnten Sie das Probieren Sie einfach den generischen (oder i686- oder amd64-, falls vorhanden) Kernel aus und erzielen Sie den höchstmöglichen Durchsatz (dh den Rohwert, zu dem der Prozessor in der Lage ist). Wenn Sie auf Probleme stoßen (diese sollten eigentlich geringfügig sein) oder Ihre Maschine etwas weniger leistungsstark ist als die Spitze des Marktes, gehen Sie auf -preempt.
Wenn Sie sich auf einem Low-End-Computer mit nur einem oder zwei Kernen befinden, probieren Sie die -Langsamkeit aus. Sie können auch die -realtime ausprobieren, aber Sie werden feststellen, dass sie dazu neigt, Prozesse zu blockieren, bis die "Echtzeit" -Prozesse ihre Arbeit beendet haben. Ich glaube, der Echtzeit-Kernel ist nicht der "Vanille" -Kernel, aber der CONFIG_PREEMPT_RT-Patch wurde angewendet. Ich denke, dass Echtzeit-Kernel nur für diejenigen gedacht sind, die eine einzige Anwendung auf eingebetteten Systemen erstellen müssen. Daher sollten normale Desktop-Benutzer keine wirklichen Vorteile haben, da sie normalerweise eine ganze Reihe von Anwendungen gleichzeitig ausführen.
Die wichtigsten Kernel-Optionen, wenn Sie Ihren Kernel selbst neu kompilieren möchten, um einen Desktop mit geringer Latenz zu erhalten, sind:
und:
Um etwas Energie zu sparen, können Sie dies ankreuzen:
quelle
Aus dem oben zitierten Dokument ( http://www.versalogic.com/mediacenter/whitepapers/wp_linux_rt.asp )
In dem Artikel heißt es, dass ein Echtzeit-Kernel, der nicht ansprechbar oder zeitgebunden ist, die wichtigste Eigenschaft ist. Daher verzögern sie manchmal nicht kritische Aktivitäten, die zu Verzögerungen führen. Bei einer niedrigen Latenz oder einem anderen Echtzeit-Kernel wird jedoch versucht, die allgemeine Latenz zu verringern, was in den meisten Fällen hilfreich ist. Aufgrund der reduzierten Latenz scheint das System schnell zu sein. Lesen Sie den Artikel sorgfältig.
quelle
Ich habe diesen alten Laptop mit Dual AMD A6-4400M bei 1600MHz, den ich sparsam benutze, wenn ich nicht im Büro bin, hauptsächlich, um E-Mails zu lesen und gelegentliche Websites zu durchsuchen. Möglicherweise hing etwas mit Softwareupdates zusammen, was dazu führt, dass es nicht mehr reagiert. Etwa ein Dutzend Zeichen eingeben, ohne das erste zu sehen. Oft fragt das Widget, ob ich einen Prozess zwangsweise beenden soll.
Nach dem
sudo apt-get install linux-lowlatency
Neustart wurde es reibungslos und reaktionsschnell. (uname -r 5.0.0-20-lowlatency.) Wunderbar, ich hätte vor Jahren wechseln sollen. Lassen Sie mich Sevens Antwort betonen: Wenn Sie nicht das Maximum aus einem Server herausholen möchten, der Zahlen drückt, versuchen Sie es mit -preempt !quelle