Svantaggi dell'uso del precarico? Perché non è incluso di default?

95

Vorrei sapere quali sono gli svantaggi dell'uso di preload ? Se non ci fosse downside, preload verrebbe abilitato di default, quindi immagino ce ne siano alcuni.

Okay hai bisogno di un po 'di RAM in più, ma la maggior parte delle persone ha molta più RAM di cui ha bisogno Ubuntu - quindi quali sono gli svantaggi dell'uso di preload ?

    
posta Paradiesstaub 06.03.2012 - 00:06

5 risposte

54

In parole povere, il precarico non è per tutti. È fantastico se apri molte applicazioni o librerie. È dannoso se carichi applicazioni o librerie solo occasionalmente. Userò due esempi dal mio uso effettivo (e sì, io uso il preload).

Innanzitutto, Google Chrome. Ora un browser viene aperto solo una volta per avvio, forse due volte (per me, sono uno sviluppatore web). Chrome e le relative librerie rimangono in memoria perché lo utilizzo sempre. Anche quando chiudo tutte le finestre cromate è ancora sullo sfondo a fare la sua cosa. Quindi tutto il ram dedicato a contenere una copia precaricata di Chrome è uno spreco totale e totale. Non è mai (o raramente) scaricato. Per l'utente medio questo è vero per un gran numero di applicazioni. Un utente di Office avrà quasi sempre la sua app di posta elettronica aperta. Quindi i piccoli risparmi nei tempi di avvio sono completamente sprecati perché aprono la loro app di posta solo una volta al giorno e la lasciano aperta.

Il secondo esempio è rake. Come sviluppatore di rubini che crede nei test, eseguo un rake su un TON. rake viene eseguito, viene eseguito per un paio di secondi, quindi esce. Il precarico mi aiuta a velocizzare il mio lavoro quotidiano perché carica rake e le sue librerie necessarie (che possono essere molto estese) in anticipo. Quindi ci sono un sacco di avvii e arresti alla corsa del rake. L'extra ram utilizzato per accelerare i 400 o 500 lanci di rastrello nell'arco di poche ore ne vale la pena.

Quindi la ragione per cui non è abilitata di default è perché la sua capacità di migliorare effettivamente le prestazioni si basa in gran parte su come usi il tuo sistema. Per alcune persone sarà negativo e per altri positivo.

Infine, il precaricamento, anche se non lo stai usando, consuma ram. Quindi, se non si avviano frequentemente applicazioni, si potrebbe effettivamente rallentare l'intero sistema non avendo quella RAM disponibile per altri tipi di memorizzazione nella cache. Ricorda, anche se hai 32 Gigs di RAM, Linux proverà ad utilizzarne il più possibile per memorizzare i dati in modo da rendere più veloce l'interazione. Usando il preload si riduce la memoria libera. Anche se è solo un po 'piccolo, i 2 secondi che hai salvato avviando il cromo 1 volta potrebbero costarti 60 secondi nel corso del mese.

    
risposta data coteyr 02.05.2013 - 12:04
17
  

Domanda posta da bountier Saeed Zarinfam il 5 settembre 2012:

     

Ciao a tutti, voglio sapere, è un mito? [preload] migliora davvero le mie prestazioni? Quali sono gli svantaggi di usarlo? Ho un portatile con queste specifiche (CPU Core i5, 4GB RAM, 128GB SSD Hard). Grazie mille.

  • Non è necessario per preload se si dispone di un SSD
    • Questo perché gli SSD forniscono molto tempi di accesso casuale più veloci rispetto ai dischi rigidi, quindi i binari "pre-caricamento" / dipendenze in memoria sono uno spreco, IMO
    • Il lato negativo fondamentale è che preload sta "utilizzando" memoria aggiuntiva senza fornire un beneficio tangibile.
risposta data ish 08.09.2012 - 12:49
10
  

Precarico è un "daemon readahead adattivo" che viene eseguito in background   del tuo sistema, e osserva quali programmi usi più spesso, il caching   loro al fine di accelerare il tempo di caricamento dell'applicazione. Usando Preload, tu   può mettere la RAM inutilizzata a buon lavoro e migliorare le prestazioni generali   del tuo sistema desktop.

     

Non aspettarti di vedere un drastico cambiamento nelle prestazioni   subito. Inoltre, se stai solo aprendo / chiudendo le applicazioni   ripetutamente, il tuo computer li memorizzerà comunque nella cache   (questo è chiamato un carico "caldo"), quindi non vedrai alcuna differenza in   velocità lì. Tuttavia, vedrai un miglioramento della velocità se, per   Ad esempio, si utilizza un programma a intermittenza; questi programmi verranno avviati   più veloce che senza precarico.

     

Il precarico può migliorare notevolmente il tempo di avvio dell'applicazione;   poiché la maggior parte delle macchine moderne ha una buona quantità di memoria da risparmiare,   Preload mette a frutto questa RAM. 1

Detto questo, sembra che il precarico sia una grande utilità, e potrebbe esserlo.

Penso che il motivo per cui non è precaricato con il sistema operativo, è perché l'utente deve sapere esattamente cosa sta facendo e avere abbastanza esperienza per essere in grado di usarlo, e il sistema deve avere abbastanza RAM.

Su un aspetto più tecnico, il precarico funziona spostando i dati dal disco rigido alla RAM, il che rende la maggior parte del disco rigido in modalità di sospensione se non utilizzata, e quindi deve ricollegarsi quando necessario. Quindi, ruotando su / giù per l'unità, si determinerebbe il conteggio del ciclo di carico / scaricamento e il conteggio del tempo di accensione aumenterà e ciò ridurrà la durata dell'unità.

  

Abbiamo progettato e implementato il preload, un Adaptive basato su Markov   schema di prefetching che funziona con le previsioni a livello di applicazione.   Inoltre, il precarico è implementato nello spazio utente e non cambia   l'ambiente di run-time dell'applicazione in qualsiasi senso. Questo è il primo   lavorare sperimentando con il prefetching di fi le-system a questo livello fino a   lo sappiamo.

     

I nostri risultati sperimentali mostrano promettenti miglioramenti sull'applicazione   tempo di avvio rispetto alle cache fredde e una percentuale di colpi decente confrontata   ad un algoritmo di predizione di naïve.

     

Tuttavia, essere nello spazio utente introduce grandi ostacoli nel fare   precaricare una soluzione competitiva al problema del tempo di avvio. In   in particolare, non avendo informazioni complete sull'I / O delle applicazioni   richieste e mancanza di forti canali di comunicazione con il   il sottosistema della cache della pagina riduce drasticamente l'e ff ettiività del precarico,   soprattutto in condizioni di memoria strette.

     

Un altro problema inerente al design del preload è l'alta varianza e   bassa confidenza di predizione causata dalla correlazione relativamente libera di   start-up dell'applicazione. Mentre costruiamo con successo un modello da monitorare   correlazioni applicative, il fatto che i lanci di applicazioni sono molto   eventi rari rispetto ai tempi in cui i computer lavorano, a   schema di prefetching a livello di applicazione è condannato a consumare enormi   prefetching memory over praticamente infiniti periodi di tempo. Questo   la memoria può essere utilizzata per migliorare il comportamento della cache a breve termine.

     

Infine, arriviamo a una serie di raccomandazioni per il sistema   gli sviluppatori su come migliorare il tempo di avvio, il tempo di accesso e l'applicazione   avvio-tempo senza ricadere su un prefetcher integrato con il   sottosistema di cache nel kernel. Naturalmente, un prefetcher basato su file   il kernel può migliorare in aggiunta. 2

1 Fonte: techthrob

2 Fonte: Preload - Un demone di prefetching adattativo di Behdad Esfahbod - Una tesi presentata in conformità con i requisiti per il grado di Master of Science - Dipartimento di Laurea di Informatica - Università di Toronto Copyright (c ) 2006 di Behdad Esfahbod.

    
risposta data Mitch 28.04.2013 - 11:26
8

Inconvenienti? Ci sono NESSUNO!

Aumento delle prestazioni durante l'apertura delle applicazioni da parte dell'utente. L'ho usato per anni sui miei sistemi così come "read-ahead" e non ho problemi. La pagina bug per il precarico non suggerisce alcun inconveniente .

Il precarico monitora le applicazioni che utenti eseguono e analizzando questi dati, predice quali applicazioni utenti potrebbero eseguire e recupera i binari e le loro dipendenze in memoria per tempi di avvio più rapidi .

Aumenta leggermente il tempo di avvio, tuttavia la velocità di recupero del tempo di recupero delle applicazioni supera di gran lunga questo piccolo problema.

vedi articolo

Se utilizzi costantemente app comuni come Firefox o Gimp noterai alcuni tempi di caricamento notevolmente migliorati. Preload è un demone che funziona discretamente in background e non disturberà il tuo desktop in alcun modo. Gli utenti di Ubuntu possono installare il precarico con:

sudo apt-get install preload

Risultati:

ref

    
risposta data Ringtail 06.03.2012 - 00:16
2

Dai un'occhiata a questo documento di Lorenzo Colitti sull'analisi e sul miglioramento dei tempi di avvio di GNOME .

Coletti non è l'autore di preload . Nel suo documento fa riferimento a la pagina del progetto di precarico su Sourceforge.net .

Fondamentalmente, ci sono 2 ragioni.

  1. Era uno sviluppo di GNOME. GNOME divenne impopolare e, come afferma Coletti in questo articolo, gli sviluppatori di altri ambienti vedevano questo lavoro come l'approccio sbagliato.

  2. preload è destinato alle prestazioni per singolo utente, non al multiutente. Quindi l'ambito del progetto non corrisponde all'ambito di tutte le distro.

Leggi le pagine 9 & amp; 10 del documento di Colitti.

    
risposta data j0h 04.05.2013 - 02:21

Leggi altre domande sui tag