Question Les 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 de l'utilisation preload? S'il n'y avait pas d'inconvénient, preload serait activé par défaut, donc je suppose qu'il y en a.

Bon, vous avez besoin d’un peu plus de RAM, mais la plupart des gens ont bien plus de RAM que Ubuntu, alors quels sont les inconvénients de l’utilisation? preload?


96
2018-03-05 23:06


origine


Merci pour votre question utile. Je veux savoir, est-ce un mythe? - Saeed Zarinfam
L'utilisation du processeur et de la batterie peut être un inconvénient pour certains ... bugs.launchpad.net/ubuntu/+source/preload/+bug/481861 - Mateo
Bonne question. Certaines distributions sont chargées avec un préchargement, tel que le système d'exploitation élémentaire (qui est ce que je lance sur mon ordinateur portable car le gala est beaucoup plus rapide que l'unité d'Ubuntu).
Juste une supposition: une des raisons pour ne pas l'inclure par défaut est le fait qu'il n'est pas utilisable sur tous les systèmes (ses exigences matérielles peuvent être différentes des exigences standard). - don.joey
brainstorm.ubuntu.com/idea/1122 un message ici suggère qu'il "s'exécute comme un démon avec les privilèges root". Ce qui peut être un problème de sécurité, il y a aussi ce remue-méninges qui veut l'inclusion par défaut brainstorm.ubuntu.com/idea/14092 - Mateo


Réponses:


En termes simples, le préchargement n'est pas pour tout le monde. C'est génial si vous ouvrez beaucoup d'applications ou de bibliothèques. Il est dangereux de charger des applications ou des bibliothèques de temps en temps. Je vais utiliser deux exemples de mon utilisation actuelle (et oui, j'utilise le préchargement).

Tout d'abord, Google Chrome. Maintenant, un navigateur est ouvert une seule fois par démarrage, peut-être deux fois (pour moi, je suis développeur Web). Chrome et ses bibliothèques associées restent en mémoire car je les utilise toujours. Même quand je ferme toutes les fenêtres chromées, c'est toujours en arrière-plan. Ainsi, tout le bélier dédié à contenir une copie préchargée de Chrome est un gaspillage total et total. Ce n'est jamais (ou rarement) déchargé. Pour l'utilisateur moyen, cela est vrai pour un grand nombre d'applications. Un utilisateur Office aura presque toujours son application de messagerie ouverte. Ainsi, les petites économies de temps de démarrage sont complètement perdues car elles ouvrent leur application de messagerie une fois par jour et la laissent ouverte.

Le deuxième exemple est le râteau. En tant que développeur de rubis qui croit au test, je lance un raton. rake run, s'exécute pendant quelques secondes - minutes puis sort. Le préchargement m'aide à accélérer mon travail quotidien car il charge les rakes et les bibliothèques nécessaires (qui peuvent être très étendues) à l'avance. Il y a donc beaucoup de départs et d'arrêts dans le déroulement du rake. Le bélier supplémentaire utilisé pour accélérer les 400 ou 500 lancements de râteau en quelques heures en vaut la peine.

La raison pour laquelle elle n’est pas activée par défaut est que sa capacité à réellement améliorer les performances repose en grande partie sur Comment vous utilisez votre système. Pour certaines personnes, ce sera négatif et pour d'autres, positif.

Enfin, le préchargement, même si vous ne l'utilisez pas, consomme ram. Donc, si vous ne lancez pas fréquemment des applications, vous pourriez ralentir votre système en entier en ne disposant pas de ce système pour d'autres types de mise en cache. Rappelez-vous, même si vous avez 32 Go de ram, Linux essaiera d'en utiliser autant que possible pour mettre en cache les données afin de rendre votre interaction plus rapide. En utilisant le préchargement, vous réduisez cette mémoire libre. Même si c'est juste un tout petit peu, les 2 secondes que vous avez enregistrées lors du lancement de chrome 1 fois peuvent vous coûter 60 secondes par mois.


56
2018-05-02 10:04



En outre, l'utilisation de la précharge ralentit le démarrage. Plus le contenu est préchargé, plus le temps nécessaire à la mise en service de votre système est long. Maintenant, imaginez que tout ce que vous voulez faire, c’est démarrer, écrire une phrase sur un mémo et arrêter juste après. Vous attendez même de pouvoir écrire le mémo, car votre système précharge très probablement des éléments sans rapport avec cette tâche. Ainsi, le préchargement (en général) est une arme à double tranchant. - F-3000
Le préchargement ne fonctionne pas de cette manière ... Il donne des indications sur le noyau, comme "Chargez ceci dans votre cache lorsque vous y êtes, j'en aurai besoin bientôt" et le noyau le fait. Donc, en fait, vous n'utilisez pas la RAM comme vous le décrivez. Deux choses peuvent se produire, à savoir: Le chargement dans le cache permet d'extraire les applications que vous allez utiliser bientôt, ce qui entraîne un arrêt rapide et une activité du disque dur lorsque vous revenez à l'application. - hurikhan77
Deuxièmement: si preload prédit mal votre modèle d’utilisation (ce qui peut très bien être le cas si vos applications sont constamment chargées), il met en cache les éléments qui seront ensuite expulsés de la mémoire vive et propulseront le cache de la mémoire vive. mieux utiliser pour. Mais à la fin, il ne "consomme" que de la mémoire vive comme le fait le cache vfs - donc, en fait, il s'agit d'une mémoire RAM et donc d'une "RAM libre". Il est cependant en concurrence avec le "cache normal" lorsque vous écrivez. - hurikhan77
Compte tenu de ce que coteyr et @ hurikhan77 rappellent ci-dessus, êtes-vous d’avis que Preload est un contre-efficace façon d'améliorer la vitesse perçue sur les anciennes boîtes de bureau de faible RAM (~ 800 Mo libres au démarrage). Si vous activez le préchargement sur de telles boîtes remises à neuf, le gestionnaire de mémoire virtuelle du noyau aura beaucoup de travail pour peu d'améliorations? - tuk0z
@lliseil Si ces 800 Mo sont vraiment de la RAM non allouée, le préchargement peut aider ... Mais cela fonctionne probablement mieux avec plus de RAM. Et à son tour, cela signifie que le préchargement sera en conflit avec les applications gourmandes en mémoire que vous pourrez démarrer plus tard. Réduire le swappiness peut être nécessaire ici, ce qui rend probablement le préchargement inutile dès que vous allez utiliser trop de RAM. - hurikhan77


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

Salut à tous, je veux savoir, est-ce un mythe? Est-ce que [précharge] vraiment améliorer ma performance? Quels sont les inconvénients de son utilisation? J'ai un ordinateur portable avec cette spécification (processeur Core i5, 4 Go de RAM, disque dur SSD de 128 Go). Merci beaucoup.

  • Il n'y a pas vraiment besoin de précharge si vous avez un SSD
    • C'est parce que les SSD fournissent beaucoup des temps d'accès aléatoires plus rapides que les disques durs, de sorte que les binaires / dépendances en "pré-chargement" sont une perte, OMI
    • L'inconvénient fondamental est que précharge "utilise" de la mémoire supplémentaire sans apporter de bénéfice tangible.

18
2017-09-08 10:49



Cela ne couvre pas la question du PO, y a-t-il des inconvénients à utiliser le préchargement? Deuxièmement, vous avez formé un avis, fait une déclaration sur le "pré-chargement" et introduit ensuite "SSD" dans l'équation. À quel moment allez-vous réellement répondre à la question? - Ringtail


Preload est un «démon readahead adaptatif» qui fonctionne en arrière-plan   de votre système, et observe les programmes que vous utilisez le plus souvent, la mise en cache   les afin d’accélérer le temps de chargement des applications. En utilisant Preload, vous   peut mettre de la RAM inutilisée au bon travail et améliorer la performance globale   de votre système de bureau.

Ne vous attendez pas à voir un changement radical de performance   tout de suite. En outre, si vous ne faites qu'ouvrir / fermer des applications   de manière répétitive, votre ordinateur stockera de toute façon ces fichiers dans le cache   (on appelle cela une charge «chaude»), vous ne verrez donc aucune différence   vitesse là-bas. Vous verrez cependant une amélioration de la vitesse si, pour   Par exemple, vous utilisez un programme par intermittence. ces programmes vont démarrer   plus rapide que sans précharge.

Le préchargement peut améliorer considérablement le temps de démarrage des applications.   depuis la plupart des machines modernes ont beaucoup de mémoire à épargner,   Preload met cette RAM à profit.1

Cela étant dit, il semble que la précharge soit une grande utilité, et cela pourrait être le cas.

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

Sur un aspect plus technique, le préchargement fonctionne en déplaçant les données du disque dur vers la RAM, ce qui rend la plupart des disques durs en mode veille s'ils ne sont pas utilisés, puis ils doivent être réactivés si nécessaire. Si le lecteur tourne, le nombre de cycles de chargement / déchargement augmente et le temps de mise sous tension augmente, ce qui réduit la durée de vie du lecteur.

Nous avons conçu et implémenté le préchargement, un adaptatif basé sur Markov.   système de prélecture qui fonctionne sur les prédictions au niveau de l'application.   De plus, le préchargement est implémenté dans l'espace utilisateur et ne change pas   l'environnement d'exécution de l'application dans tous les sens. C'est le premier   travailler à expérimenter avec le préchargement du système de fichiers à ce niveau   nous savons.

Nos résultats expérimentaux montrent des améliorations prometteuses sur l'application   temps de démarrage par rapport aux caches froides et taux de réussite   à un algorithme de prédiction normal.

Cependant, être dans l’espace utilisateur introduit des obstacles majeurs à la   préchargez une solution compétitive au problème de démarrage. Dans   en particulier, ne pas avoir d’informations complètes sur les E / S des applications   demandes, et le manque de canaux de communication forts avec le   le sous-système de page-cache dégrade considérablement l’efficacité de la précharge,   en particulier dans des conditions de mémoire serrées.

Un autre problème inhérent à la conception de la précharge est la grande variance et   une faible confiance en prédiction causée par la corrélation relativement faible de   applications en démarrage. Alors que nous construisons avec succès un modèle pour suivre   corrélations d’applications, le fait que les lancements d’applications soient très   événements rares par rapport à l'échelle de temps sur laquelle les ordinateurs fonctionnent, un   système de lecture anticipée au niveau de l'application est condamné à consommer d'énormes   Prépare la mémoire sur pratiquement toutes les périodes de temps. Ce   la mémoire peut être utilisée pour améliorer le comportement du cache à court terme.

Enfin, nous proposons un ensemble de recommandations pour le système   développeurs sur la façon d'améliorer le démarrage, l'heure de connexion et l'application   temps de démarrage sans retomber dans un préfetcher intégré à la   cache sous-système dans le noyau. Bien sûr, un préfetcher basé sur des fichiers dans   le noyau peut améliorer en plus de cela.2

1La source:techthrob

2La source:Preload - Un démon de préchargement adaptatif par Behdad Esfahbod - Une thèse soumise conformément aux exigences du diplôme de Master of Science - Département des sciences informatiques - Université de Toronto Copyright (c) 2006 par Behdad Esfahbod.


10
2018-04-28 09:26



Merci pour votre réponse, Mitch. C'étaient mes pensées aussi. Surtout sur les ordinateurs portables, la précharge pourrait être un problème. Mais encore, j'aimerais trouver une source / discussion officielle expliquant pourquoi l'équipe d'Ubuntu a décidé de ne pas utiliser de préchargement. - Glutanimate


Désavantages? Il n'y en a pas!

Augmentation des applications d'ouverture de performance par l'utilisateur. Je l'ai utilisé pendant des années sur mes systèmes ainsi que sur la lecture anticipée et je n'ai aucun problème. le page de bug car la précharge ne suggère aucun inconvénient non plus.

Précharger surveille les applications qui utilisateurs exécuter, et en analysant ces données, prédit quelles applications utilisateurs peut exécuter, et récupère ces binaires et leurs dépendances en mémoire pour des temps de démarrage plus rapides.

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

voir article 

Si vous utilisez constamment des applications communes comme Firefox ou Gimp vous remarquerez des temps de chargement grandement améliorés. Le préchargement 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 le préchargement avec:

sudo apt-get install preload

Résultats:

Graph showing difference between normal and preload start

ref


8
2018-03-05 23:16



Je sais ce que cela dose et j'ai lu plusieurs «HowTos de précharge», mais nulle part je ne pouvais lire quelque chose à propos des inconvénients. S'il n'y avait pas de retour en arrière, il serait livré par défaut avec de nombreuses distributions Linux - mais pour autant que je sache - ce n'est pas le cas. - Paradiesstaub
La performance n'est pas diminué, mais augmenté. C'est tout l'intérêt d'utiliser la précharge. Peut-être que c'est juste une faute de frappe. - Marco
Votre diagramme a fière allure mais il manque des informations importantes. Cela correspondrait à 100% à une présentation powerpoint d'un commercial, mais c'est un exemple de «mauvaise statistique». D'où viennent ces chiffres? Quel protocole a été utilisé pour les enregistrer? Est-ce que c'est un seul instantané? Combien de machines ont été impliquées dans l'échantillon? Quel était le matériel? Comment le programme de préchargement a-t-il été configuré?
@Ringtail: Vous avez raison. Vous n'êtes pas l'auteur de ce diagramme. Mais si vous cliquez sur tous les liens dans les articles, vous venez sur une page Techthrob.com qui devrait avoir hébergé un article écrit par l'auteur du programme. Mais cette page a disparu. Il n'y a donc que la source: la thèse de l'auteur.
Il faut mettre à niveau le matériel si un terminal GNOME prend plus de 2 secondes pour démarrer ... - Peter and the wolf


Regardez ça document de Lorenzo Colitti sur l'analyse et l'amélioration du temps de démarrage de GNOME.

Coletti n'est pas l'auteur de preload. Dans son document, il fait référence à la page du projet de préchargement sur Sourceforge.net.

Fondamentalement, il y a 2 raisons.

  1. C'était un développement GNOME. GNOME est devenu impopulaire et, comme l’indique Coletti dans cet article, les développeurs d’autres environnements considéraient ce travail comme une mauvaise approche.

  2. preload vise les performances mono-utilisateur, pas multi-utilisateurs. La portée du projet ne correspond donc pas à la portée de toutes les distributions.

Lisez les pages 9 et 10 du document de Colitti.


2
2018-05-04 00:21



Votre réponse ne dit pas réellement si preload rend un système utilisateur unique plus rapide ou non. Il ne fait que des liens vers des articles. J'essaie de justifier le rejet de 8 Go de RAM qu'Ubuntu utilise à 50% et achète 16 Go de RAM et utilise quelque chose comme le préchargement pour stocker tous les fichiers / etc, / usr, / lib, / bin, / sbin et tout ce que je veux. sinon je peux penser à - WinEunuuchs2Unix