web-dev-qa-db-fra.com

La compilation d’un noyau Linux accélère-t-elle le système d’exploitation?

La compilation d’un noyau Linux téléchargé (par exemple 3.2) accélère-t-elle le système d’exploitation (par exemple ubuntu) sur cette machine spécifique?

10
rockr101

En général non.

Il existe toutefois des exceptions au "non". Par exemple, le noyau liquorix ou les saveurs du noyau Ubunt . Ce sont généralement des performances optimisées et peuvent faire la différence (le noyau du serveur est plus rapide pour les serveurs et n'améliorera pas les performances du bureau).

Avec Ubuntu, si vous utilisez le type de noyau approprié, vous devriez être prêt à partir.

Remarque: Le noyau de Liquorix possède également des correctifs (en plus du réglage des performances).

L'autre exception serait si vous avez un matériel inhabituel.

Mais dans la grande majorité des cas, les performances ne sont pas une raison "standard" de compiler un noyau.

Voir:

noyau de compilation du wiki Ubunt

9
Panther

Comme le dit bodhi.zazen, la réponse la plus précise est généralement, mais à quelques exceptions près. La plupart de ces exceptions sont liées au matériel, mais certaines ne sont que des problèmes de configuration. La justification de ma réponse suit.

Au cours du dernier mois, j'ai compilé 26 noyaux entre deux machines dans le but de performance Tweak. Ce que j'ai trouvé:

  1. Changer le type de processeur dans .config en architecture native et supprimer les options prenant en charge d'autres architectures amélioraient le débit d'E/S sur fichier de plus de 10% en points de repère (assez pour ressentir l'amélioration) et réduisaient les retards après la saisie de l'utilisateur dans XFCE sous Xubuntu. 12,04 bits sur mon ordinateur portable Mobile Sempron 512 Mo cadencé à 1,8 GHz (K8) RAM. Les mêmes modifications n’ont pas eu d’impact quantifiable ou perceptible sur mon ordinateur portable Core2 Duo 2 Go RAM à 1,73 GHz sous Ubuntu 12.04 64 bits, mais ont rendu une application auparavant stable prédisposée aux pannes.
  2. La modification de HZ dans .config en 1000 a considérablement amélioré la réactivité à la saisie de l'utilisateur en cas de charge de processeur élevée dans les deux systèmes. Il a également apporté des changements de focus de fenêtre dans X instantanés dans toutes les conditions.
  3. Le correctif BFS a augmenté de quelques minutes la durée de vie de la batterie dans les deux systèmes. Juste assez pour être mesurable et consister, mais pas assez pour importer beaucoup. Les tests n'ont révélé aucun changement de performances statistiquement significatif, mais les deux systèmes "se sentent" plus vite. Je suppose que cela a à voir avec le fait que la priorité de planification est plus bénéfique pour les charges de travail typiques sur ces machines spécifiques.
  4. Toutes les autres combinaisons .config essayées ont entraîné une baisse des performances sur les deux systèmes.

J'ai passé des quantités ridicules de temps à compiler et à tester différentes configurations. Pour autant, seuls cinq noyaux ont donné un résultat souhaitable, sur vingt-six tentatives. Sept noyaux ne sont même pas utilisables (non-redémarrable ou échec de démarrage de X). J'ai récemment installé le noyau Liquorix à partir du référentiel et ajouté toutes les améliorations ci-dessus, ainsi qu'une augmentation d'environ 50% de la fréquence d'images dans les deux jeux Windows auxquels je joue via WINE sur le système Core2. Cela n'a pris que quelques minutes et rien n'a été cassé.

Mon système d'exploitation est-il meilleur parce que j'ai compilé mon propre noyau? Eh bien, un peu. Jusqu'à ce que je trouve quelque chose qui fonctionne plus lentement/se casse, car je ne l'avais pas trouvé pendant les tests. Mon système d'exploitation est-il plus rapide? Non.

6
OCDtech

Dans mon expérience oui. Mais les avantages proviennent principalement de l’élimination des fonctionnalités inutiles et de la sélection de quelques autres, telles que le type de votre processeur. En outre, faites-en une latence ultra faible pour une utilisation de bureau. Cela fait des années que je compile le noyau et pour moi, la différence est toujours perceptible. Mais il y a d'autres avantages. Les temps de démarrage sont également améliorés.

Toutefois, sélectionner uniquement les options dont vous avez besoin prend beaucoup de temps.

2
Kevin Guerra

Je ne sais pas comment utiliser le noyau, mais en général, compiler des applications à partir des sources les rend généralement plus rapides (je le fais généralement avec des bibliothèques de développement comme CGAL ou des applications comme ParaView). Bien sûr, lorsque le processus de compilation est optimisé pour l'architecture, etc.

Cependant, je ne pense pas que la compilation d’un noyau accélérerait autant qu’elle aurait une influence visible sur les performances. À mon avis, cela ne serait visible que dans les compteurs de performance.

0
Misery

J'ai compilé un noyau pour un EeePC 900A uniquement pour supprimer les pilotes et fonctionnalités inutiles, pour démarrer sans initrd supplémentaire, pour définir le planificateur d'E/S par défaut, pour optimiser pour Atom et pour désactiver le débogage ainsi que certaines pertes de performances et de réactivité. enregistrement des fonctionnalités. (il est utilisé comme serveur pour diverses petites choses). Moins de temps de démarrage nécessaire ^^ Il y a environ un an, je l'avais déjà essayé, mais Chromium ne montrait que des pages Web vierges - avec des liens cliquables ...

0
pucgenie