135 votes

Inconvénients de l'utilisation de la précharge ? Pourquoi n'est-il pas inclus par défaut ?

Je voudrais savoir quels sont les inconvénients d'utiliser preload ? S'il n'y avait pas d'inconvénient, preload serait activé par défaut, donc je suppose qu'il y en a.

D'accord, vous avez besoin d'un peu plus de RAM, mais la plupart des gens ont beaucoup plus de RAM que ce dont Ubuntu a besoin. preload ?

87voto

coteyr Points 16560

En bref, Preload ne convient pas à tout le monde. Il est génial si vous ouvrez beaucoup d'applications ou de bibliothèques. Il est néfaste si vous ne chargez des applications ou des bibliothèques qu'occasionnellement. Je vais utiliser deux exemples tirés de mon utilisation réelle (et oui, j'utilise Preload).

Tout d'abord, Google Chrome. Aujourd'hui, un navigateur n'est ouvert qu'une fois par démarrage, peut-être deux (pour moi, je suis un développeur web). Chrome et les bibliothèques associées restent en mémoire car je l'utilise en permanence. Même lorsque je ferme toutes les fenêtres de Chrome, il est toujours en arrière-plan à faire son travail. Ainsi, toute la mémoire vive dédiée à la conservation d'une copie préchargée de Chrome est un gaspillage total et absolu. Elle n'est jamais (ou rarement) déchargée. Pour l'utilisateur moyen, ceci est vrai pour un grand nombre d'applications. Un utilisateur d'Office aura presque toujours son application de messagerie ouverte. La petite économie réalisée sur le temps de démarrage est donc complètement gaspillée parce qu'il n'ouvre son application de messagerie qu'une fois par jour et qu'il la laisse ouverte.

Le deuxième exemple est le rake. En tant que développeur Ruby qui croit aux tests, j'utilise beaucoup rake. rake se lance, s'exécute pendant quelques secondes - minutes puis se termine. Preload m'aide à accélérer mon travail quotidien car il charge rake et les bibliothèques nécessaires (qui peuvent être très nombreuses) à l'avance. Il y a donc beaucoup de démarrages et d'arrêts dans l'exécution de rake. La mémoire vive supplémentaire utilisée pour accélérer les 400 ou 500 lancements de rake sur une période de quelques heures en vaut totalement la peine.

La raison pour laquelle il n'est pas activé par défaut est que sa capacité à améliorer les performances est largement basée sur comment vous utilisez votre système. Pour certaines personnes, ce sera un point négatif et pour d'autres un point positif.

Enfin, le fait d'activer la précharge, même si vous ne l'utilisez pas, consomme de la mémoire vive. Ainsi, si vous ne lancez pas d'applications fréquemment, vous risquez de rendre votre système plus lent en ne disposant pas de cette mémoire vive pour d'autres types de mise en cache. Rappelez-vous, même si vous avez 32 Gigas de RAM, Linux essaiera d'en utiliser le plus possible pour mettre en cache des données afin d'accélérer vos interactions. En utilisant le préchargement, vous réduisez un peu cette mémoire libre. Même si ce n'est qu'un tout petit peu, les 2 secondes que vous avez économisées en lançant chrome une fois pourraient vous coûter 60 secondes sur le mois où il reste en fonctionnement.

24voto

ish Points 134738

Question posée par bountier Saeed Zarinfam le 5 septembre 2012 :

Bonjour à tous, je voudrais savoir si c'est un mythe ? Est-ce que [précharge] améliorer réellement mes performances ? Quels sont les inconvénients de son utilisation ? J'ai un ordinateur portable avec cette spécification (CPU Core i5, 4GB RAM, 128GB SSD Hard). Merci beaucoup.

  • Il n'y a pas vraiment besoin de précharge si vous avez un SSD
    • En effet, les SSD fournissent beaucoup des temps d'accès aléatoires plus rapides que ceux des disques durs, de sorte que le "préchargement" des binaires/dépendances en mémoire est une perte de temps, selon l'OMI.
    • L'inconvénient de base est donc que précharge c'est "utiliser" de la mémoire supplémentaire sans fournir un avantage tangible.

13voto

Mitch Points 102545

Preload est un "démon adaptatif de lecture anticipée" qui fonctionne en arrière-plan. de votre système et observe les programmes que vous utilisez le plus souvent. afin d'accélérer le temps de chargement des applications. En utilisant Preload, vous pouvez utiliser la RAM inutilisée et améliorer les performances globales de votre système. de votre système de bureau.

Ne vous attendez pas à un changement radical des performances. immédiatement. De même, si vous ne faites qu'ouvrir/fermer des applications répétitivement, votre ordinateur stockera ces fichiers dans le cache de toute façon (c'est ce qu'on appelle un chargement "à chaud"), vous ne verrez donc aucune différence de vitesse. vitesse à ce niveau. Vous constaterez toutefois une amélioration de la vitesse si, par exemple si, par exemple, vous utilisez un programme de façon intermittente. plus rapidement que sans Preload.

Le préchargement peut permettre d'améliorer considérablement le temps de démarrage des applications ; car la plupart des machines modernes disposent d'une bonne partie de la mémoire disponible, Preload permet d'utiliser cette mémoire vive à bon escient. 1

Ceci étant dit, il semble que la précharge soit une grande utilité, et elle pourrait l'être.

Je pense que la raison pour laquelle le système d'exploitation n'est pas préchargé est que l'utilisateur doit savoir exactement ce qu'il fait et avoir suffisamment d'expérience pour pouvoir l'utiliser, et que le système doit avoir suffisamment de RAM.

D'un point de vue plus technique, la précharge fonctionne en déplaçant les données du disque dur vers la mémoire vive, ce qui fait que la plupart des disques durs se mettent en veille s'ils ne sont pas utilisés, et doivent ensuite se remettre en marche en cas de besoin. Ainsi, le fait de faire tourner le disque vers le haut ou vers le bas entraîne une augmentation du nombre de cycles de chargement/déchargement et du temps de mise sous tension, ce qui réduit la durée de vie du disque.

Nous avons conçu et mis en œuvre preload, un système adaptatif basé sur la théorie de Markov. qui fonctionne sur des prédictions au niveau de l'application. De plus, preload est implémenté dans l'espace utilisateur et ne modifie pas l'application. l'environnement d'exécution de l'application en aucun cas. Il s'agit du premier travail expérimentant la préextraction le-système à ce niveau, pour autant que nous le sachions. que nous le sachions.

Nos résultats expérimentaux montrent des améliorations prometteuses sur les applications des applications par rapport aux caches froids, et un taux de réussite décent par rapport à un algorithme de prédiction na¨ve.

Cependant, le fait d'être dans l'espace utilisateur introduit des obstacles majeurs pour faire du préchargement une solution compétitive au problème du temps de démarrage. Sur En particulier, le fait de ne pas disposer d'informations complètes sur les des applications, et le manque de canaux de communication solides avec le sous-système de cache de page dégrade drastiquement l'efficacité du préchargement, surtout dans des conditions de mémoire restreinte.

Un autre problème inhérent à la conception de la précharge est la variance élevée et la et la faible condence de prédiction causées par la corrélation relativement lâche des démarrage des applications. Bien que nous ayons réussi à construire un modèle pour suivre corrélations des applications, le fait que les lancements d'applications sont très événements très rares par rapport à l'échelle de temps sur laquelle les ordinateurs fonctionnent, un modèle de préchargement d'applications est nécessaire. un schéma de préextraction au niveau de l'application est condamné à consommer une énorme mémoire de préextraction sur des périodes de temps pratiquement infinies. Cette mémoire mémoire peut être utilisée pour améliorer le comportement du cache à court terme.

Enfin, nous proposons une série de recommandations pour le système. système sur la manière d'améliorer le temps de démarrage, de connexion et de et le temps de démarrage des applications sans avoir recours à un préempteur intégré au sous-système de cache dans le noyau. Bien sûr, un préempteur basé sur le noyau le noyau peut être amélioré en plus de cela. 2

1 Source : techthrob

2 Source : Preload - An Adaptive Prefetching Daemon by Behdad Esfahbod - Thèse soumise en conformité avec les exigences du diplôme de Master of Science - Graduate Department of Computer Science - University of Toronto Copyright (c) 2006 by Behdad Esfahbod.

9voto

Ringtail Points 15655

Inconvénients ? Il n'y en a AUCUN !

Augmentation des performances des applications d'ouverture par l'utilisateur. Je l'utilise depuis des années sur mes systèmes ainsi que le "read-ahead" et je n'ai eu aucun problème. Le site page des bugs pour la précharge ne présente pas non plus d'inconvénients.

Le préchargement surveille les applications qui utilisateurs exécuté, et en analysant ces données, prédit quelles applications utilisateurs et récupère ces binaires et leurs dépendances en mémoire pour un démarrage plus rapide.

Cela augmente légèrement le temps de démarrage, mais la diminution de la vitesse de récupération des applications dépasse largement ce petit problème.

voir article

Si vous utilisez constamment des applications courantes comme Firefox o Gimp vous remarquerez que les temps de chargement sont grandement améliorés. Preload est un démon qui s'exécute discrètement en arrière-plan et ne perturbera en aucun cas votre bureau. Les utilisateurs d'Ubuntu peuvent installer Preload avec :

sudo apt-get install preload

Résultats :

Graph showing difference between normal and preload start

réf.

0voto

DEV Points 60

Voici quelques inconvénients de Preload et les raisons pour lesquelles il n'est pas efficace pour tout le monde. J'ai un système aux spécifications décentes avec 8 Go de RAM. Mon système est donc généralement rapide. En outre, j'ouvre une ou deux fois par jour des applications gourmandes en mémoire, telles que Firefox, Chrome, VirtualBox, Gimp, etc. Elles restent ouvertes tout le temps, donc leurs binaires et bibliothèques sont préchargés en mémoire et occupent la RAM toute la journée. Je ferme et ouvre rarement ces applications, l'utilisation de la RAM est donc un simple gaspillage. Si vous utilisez des systèmes modernes avec SSD, Preload est évidemment inutile. En effet, le temps d'accès des SSD est beaucoup plus rapide que celui des disques durs normaux, et l'utilisation de Preload est donc inutile. Preload affecte de manière significative le temps de démarrage. En effet, plus il y a d'applications préchargées dans la RAM, plus il faut de temps pour que votre système soit opérationnel.

Vous ne verrez la vraie différence que si vous rechargez des applications beaucoup de temps par jour. Preload sera donc idéal pour les développeurs et les testeurs qui ouvrent et ferment les applications plusieurs fois par jour.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X