Après avoir installé Ubuntu Studio 12.04, j'ai découvert qu'il utilise un noyau à faible latence. J'ai cherché pourquoi et comment revenir à un temps réel ou générique. Mais on dirait que cette partie de Linux n’a pas été autant couverte.
Q: Pourquoi choisir un noyau à faible temps de latence plutôt qu’un noyau générique ou en temps réel?
PS: J'ai déjà lu les réponses de cette question et de ce post.
-realtime
est en temps réel, alors que signifie-rt
? Et quoi de neuf avec le-preempt
noyau? Je remercierai gemue2010, il a fait un très bon travail pour l'expliquer, mais cela n'explique toujours pas tout.Réponses:
Source d'aide Ubuntu
Cela dépend donc de ce que vous ferez avec votre distro de studio. Pour la plupart des utilisateurs ayant besoin du temps de réponse utilisateur final rapide, générique convient parfaitement, pour les autres qui ont besoin de faire de l'édition vidéo professionnelle où même une simple suppression d'image est inacceptable, le noyau temps réel est nécessaire.
Pour un article de blog plus exhaustif et facile à comprendre, lisez ce lien
la source
-preempt
,-rt
, et les-realtime
noyaux sans plus existentJe suis l'auteur de l'article de blog lié par un fan d'ubuntu: http://sevencapitalsins.wordpress.com/2007/08/10/low-latency-kernel-wtf/
Ce billet de blog ne présente aucun fait, ce n'est que de la théorie . En fait, c'est ainsi que fonctionne le processeur: le processeur "s'arrête" plus souvent pour voir si certains processus nécessitent une attention immédiate. Cela signifie que ces processus seront exécutés avant les autres, vous ne passerez donc pas d'images lors de l'encodage, ni de longs délais entre les clics de souris et les morts de l'ennemi. Cela ne signifie pas que tous les processus se termineront plus tôt: en réalité, le processeur perd une plus grande partie de son temps à décider quel processus sera exécuté ensuite et à effectuer le changement de contexte. Le temps total d’exécution est donc plus long, raison pour laquelle personne n’exécute de noyau préemptible sur les serveurs de serveur Web ou de base de données. Mais un noyau préemptible de 300 Hz (voire de 1000 Hz) est le meilleur pour les serveurs de jeux.
Mais de nos jours, les processeurs ont plusieurs cœurs. Ainsi, lorsque peu de processus requièrent une attention particulière, ils peuvent facilement être attribués à un cœur différent plutôt que d’attendre qu’un cœur le prenne.
(stackexchange me demande références / expérience personnelle: je suis un ingénieur électronicien, un noobgamer sanguinaire possédant plusieurs serveurs de jeu sur http://www.gamezoo.it ).
Donc, en règle générale, je dirais: si votre processeur est un quad-core haute fréquence puissant et encombrant ET que vous n'ouvrez généralement pas des tonnes de pages Web lors du codage / décodage / jeu (hein), vous pourriez essayez simplement le noyau générique (ou i686, ou amd64 s’ils existent) et obtenez le débit le plus élevé possible (c’est-à-dire que le processeur peut effectuer le traitement brut des chiffres). Si vous rencontrez des problèmes (ils devraient vraiment être mineurs) ou si votre machine est légèrement moins puissante que le haut du marché, optez pour la prévention.
Si vous êtes sur une machine bas de gamme qui n’est équipée que d’un ou deux cœurs, essayez -lowlatency. Vous pouvez également essayer le -realtime, mais vous constaterez qu'il tend à bloquer les processus jusqu'à ce que ceux "en temps réel" aient terminé leur travail. Je crois que le noyau temps réel n’est pas le noyau "vanille", mais a le correctif CONFIG_PREEMPT_RT appliqué. Je pense que les noyaux temps réel ne sont destinés qu'à ceux qui doivent créer une seule application sur des systèmes embarqués. Par conséquent, les utilisateurs de bureau classiques ne devraient pas bénéficier d'avantages réels, car ils exécutent généralement un nombre non négligeable d'applications.
Enfin, les options de noyau les plus pertinentes si vous souhaitez recompiler vous-même votre noyau afin de disposer d’un bureau à faible latence sont les suivantes:
et:
Pour ajouter un peu d'économie d'énergie, vous pouvez vérifier celui-ci:
la source
Extrait du document cité ci-dessus ( http://www.versalogic.com/mediacenter/whitepapers/wp_linux_rt.asp )
L'article indique que, pour le noyau dur en temps réel, la propriété la plus importante est la propriété la plus importante. Par conséquent, ils retardent parfois les activités non critiques qui entraînent un retard, mais pour le noyau de faible latence ou un autre noyau temps réel souple, essayez de réduire la latence générale, ce qui est utile dans la plupart des cas. En raison de la latence réduite, le système semble être rapide. Lisez attentivement l'article.
la source
J'ai ce vieil ordinateur portable avec double AMD A6-4400M à 1600 MHz, que j'utilise avec parcimonie lorsque je ne suis pas au bureau, principalement pour lire des courriels et naviguer sur des sites Web occasionnels. Il y avait quelque chose, peut-être lié aux mises à jour logicielles, qui le rend insensible. Quelque chose comme taper une douzaine de caractères sans voir le premier. Souvent, le widget me demande si je devrais forcer un processus à quitter.
Après
sudo apt-get install linux-lowlatency
et redémarrer, il est devenu lisse et réactif. (uname -r 5.0.0-20-lowlatency.) Merveilleux, j'aurais dû changer d'années. Permettez-moi d'insister sur la réponse de Seven: à moins que vous ne vouliez utiliser le maximum d'un serveur pour calculer les numéros, optez pour l'option -preempt !la source