Vraag Nadelen van het gebruik van de voorspanning? Waarom wordt dit standaard niet opgenomen?


Ik zou graag willen weten wat de nadelen zijn van het gebruik preload? Als er geen nadeel zou zijn, preload standaard zou worden ingeschakeld, dus ik veronderstel dat er een aantal zijn.

Oké, je hebt een beetje meer RAM nodig, maar de meeste mensen hebben veel meer RAM dan Ubuntu nodig heeft - dus wat zijn de nadelen van het gebruik van preload?


96
2018-03-05 23:06


oorsprong


Bedankt voor je handige vraag. Ik wil weten, is het een mythe? - Saeed Zarinfam
CPU-gebruik en batterij kunnen een nadeel zijn voor sommige ... bugs.launchpad.net/ubuntu/+source/preload/+bug/481861 - Mateo
Goede vraag. Sommige distributies worden geladen met preload, zoals het elementaire besturingssysteem (wat ik op mijn laptop doe omdat gala veel sneller is dan de eenheid van Ubuntu).
Gewoon een gok: een reden om het standaard niet mee te nemen is het feit dat het niet op alle systemen bruikbaar is (de hardware-eisen kunnen afwijken van de standaardvereisten). - don.joey
brainstorm.ubuntu.com/idea/1122 een bericht hier suggereert dat het "loopt als een daemon met rootprivileges." Wat een beveiligingsprobleem kan zijn, er is ook deze brainstorm die wil dat hij standaard wordt opgenomen brainstorm.ubuntu.com/idea/14092 - Mateo


antwoorden:


Simpel gezegd, Preload is niet voor iedereen. Het is geweldig als je veel applicaties of bibliotheken opent. Het is schadelijk als u applicaties of bibliotheken slechts af en toe laadt. Ik zal twee voorbeelden van mijn werkelijke gebruik gebruiken (en ja, ik gebruik de preload).

Ten eerste Google Chrome. Nu wordt een browser slechts eenmaal per boot geopend, misschien twee keer (voor mij ben ik een webontwikkelaar). Chrome en de bijbehorende bibliotheken blijven in het geheugen staan ​​omdat ik het altijd gebruik. Zelfs wanneer ik alle chromen ramen sluit, doet het nog steeds op de achtergrond zijn ding. Aldus is alle ram gewijd aan het vasthouden van een voorgeladen exemplaar van Chrome een totale en totale verspilling. Het wordt nooit (of zelden) uitgeladen. Voor de gemiddelde gebruiker geldt dit voor een groot aantal toepassingen. Een Office-gebruiker heeft bijna altijd zijn e-mailapp geopend. De kleine besparingen in opstarttijd worden dus volledig verspild omdat ze hun e-mailapp slechts eenmaal per dag openen en open laten.

Het tweede voorbeeld is rake. Als een robijnrode ontwikkelaar die gelooft in testen, raak ik een TON. rake loopt, wordt een paar seconden - minuten uitgevoerd en vervolgens afgesloten. Met Preload kan ik mijn dagelijkse werk versnellen omdat het rake en de benodigde bibliotheken (die zeer uitgebreid kunnen zijn) van tevoren laadt. Er zijn dus veel begin- en stoptijden voor het uitvoeren van rake. De extra ram die wordt gebruikt om de 400 of 500 lanceringen van rake in de loop van een paar uur te versnellen, is absoluut de moeite waard.

De reden waarom dit niet standaard is ingeschakeld, is omdat het vermogen om de prestaties daadwerkelijk te verbeteren grotendeels is gebaseerd hoe je gebruikt je systeem. Voor sommige mensen zal het een negatief zijn en voor anderen een positief.

Ten slotte, als de preload ingeschakeld is, zelfs als u hem niet gebruikt, verbruikt hij ram. Dus als u niet vaak toepassingen start, kunt u uw hele systeem eigenlijk trager maken door die ram niet beschikbaar te hebben voor andere typen caching. Onthoud dat, zelfs als je 32 Gigs van ram hebt Linux zal proberen zoveel mogelijk te gebruiken om gegevens in cache te bewaren om je interactie sneller te maken. Door preload te gebruiken, reduceer je dat vrije geheugen wat. Zelfs al is het maar een klein beetje, de 2 seconden die je hebt bespaard door Chrome 1 keer te starten, kost je 60 seconden meer dan de maand dat het blijft draaien.


56
2018-05-02 10:04



Het opstarten van de computer wordt ook vertraagd als u de preload gebruikt. Hoe meer dingen vooraf zijn geladen, hoe langer het duurt om uw systeem aan de gang te krijgen. Stel je nu voor dat alles wat je wilt doen is opstarten, een zin op een memo schrijven en direct daarna afsluiten. Je staat te wachten om de memo te kunnen schrijven, omdat je systeem dingen laadt die waarschijnlijk geen verband houden met die taak. In zekere zin is preloading (in het algemeen) een tweesnijdend zwaard. - F-3000
Preload werkt eigenlijk niet zo ... Het geeft de kernel hints zoals "hey laad dit in je cache terwijl je daar bent, ik zal het snel nodig hebben" en de kernel doet dat. Dus het gebruikt de RAM niet zoals jij het beschrijft. Er kunnen twee dingen gebeuren, te weten: als u in de cache laadt, worden applicaties verwijderd die u binnenkort gaat gebruiken, wat resulteert in een korte bevriezings- en hardeschijfactiviteit wanneer u terugkeert naar de toepassing. - hurikhan77
Ten tweede: als preload voorspelt dat uw gebruikspatroon verkeerd is (wat vrij goed het geval kan zijn als u constant applicaties hebt geladen), slaat het dingen op die later weer uit het RAM-geheugen worden geduwd en op zijn beurt zelf cache uit RAM-geheugen pusht die u mogelijk had beter gebruik voor. Maar uiteindelijk "verbruikt" het RAM-geheugen zoals de vfs-cache doet - dus het is eigenlijk een discreet RAM-geheugen en dus "vrije RAM" op een manier. Het concurreert echter wel met de "normale cache" terwijl je schrijft. - hurikhan77
Gegeven coteyr en @ hurikhan77 herinnert zich hierboven, ben je het ermee eens dat Preload is a contra-effectief manier om de waargenomen snelheid te helpen verbeteren op oudere, lage RAM-geheugenplaatsen (~ 800 MB vrij bij opstarten). FYI activeren Preload op dergelijke gerenoveerde vakken geeft de kernel virtuele geheugenbeheerder veel werk voor weinig improvment? - tuk0z
@lliseil Als die 800 MB werkelijk niet toegewezen RAM is, kan voorspanning helpen ... Maar het werkt waarschijnlijk beter met meer RAM. En dat betekent op zijn beurt: Preload zal conflicteren met geheugen-hongerige applicaties die je later kunt starten. Verlaging van de swappiness kan hier nodig zijn, wat dan waarschijnlijk de preload onnodig maakt, zodra u teveel RAM gaat gebruiken. - hurikhan77


Vraag gesteld door bountier Saeed Zarinfam op 5 september 2012:

Hallo allemaal, ik wil weten, is het een mythe? Doet [Preload] mijn prestaties echt verbeteren? Wat zijn nadelen van het gebruik ervan? Ik heb een laptop met deze specificatie (Core i5 CPU, 4GB RAM, 128GB SSD Hard). Heel erg bedankt.

  • Er is geen echte behoefte aan preload als je een SSD hebt
    • Dit komt omdat SSD's bieden veel snellere willekeurige toegangstijden dan harde schijven, dus "voorladen" binaries / afhankelijkheden in het geheugen is een verspilling, IMO
    • Het fundamentele nadeel is dan dat preload "gebruikt" extra geheugen zonder een tastbaar voordeel te bieden.

18
2017-09-08 10:49



Dit heeft geen betrekking op de vraag van het OP: zijn er nadelen aan het gebruik van de voorspanning? Ten tweede hebt u een mening gevormd, een verklaring afgelegd over "pre-loading" en vervolgens "SSD" in de vergelijking geïntroduceerd. Op welk punt zou je de vraag eigenlijk beantwoorden? - Ringtail


Preload is een "adaptieve readahead daemon" die op de achtergrond draait   van uw systeem en observeert welke programma's u het vaakst gebruikt, caching   om de laadtijd van de applicatie te versnellen. Door Preload te gebruiken, jij   kan ongebruikte RAM-geheugen naar goed werk brengen en de algehele prestaties verbeteren   van uw desktopsysteem.

Verwacht geen drastische veranderingen in de prestaties   meteen. Ook als je gewoon applicaties opent / sluit   Herhaaldelijk zal uw computer deze bestanden toch in de cache opslaan   (dit wordt een "warme" belasting genoemd), dus je zult geen verschil zien in   snelheid daar. U zult echter een snelheidsverbetering zien als, voor   U gebruikt bijvoorbeeld een programma met tussenpozen; deze programma's zullen opstarten   sneller dan zonder Preload.

Preload kan een grote verbetering in de opstarttijd van de toepassing bieden;   omdat de meeste moderne machines veel geheugen over hebben,   Met Preload wordt deze RAM goed gebruikt.1

Dat gezegd hebbende, lijkt het erop dat preload een groot nut is, en dat zou kunnen zijn.

Ik denk dat de reden dat het niet vooraf is geladen met het besturingssysteem, is omdat de gebruiker precies moet weten wat hij doet en genoeg ervaring heeft om het te kunnen gebruiken, en het systeem moet voldoende RAM hebben.

Op een meer technisch aspect, preload werkt door gegevens van de harde schijf naar RAM te verplaatsen, waardoor de meeste harde schijven naar de slaapstand gaan als ze niet worden gebruikt, en dan een back-up moeten maken als dat nodig is. Dus als u de schijf omhoog / omlaag draait, wordt de telling van de laad- / ontlaadcyclus berekend en wordt de opstarttijd verhoogd en dat verkort de levensduur van de schijf.

We ontwierpen en implementeerden preload, een op Markov gebaseerd adaptief systeem   prefetching-schema dat werkt op voorspellingen op applicatieniveau.   Bovendien is de preload geïmplementeerd in de gebruikersruimte en verandert deze niet   de applicatie runtime-omgeving op wat voor manier dan ook. Dit is de eerste   werk experimenteren met prefetchen van bestandssysteem op dit niveau voor zover   wij weten.

Onze experimentele resultaten tonen veelbelovende verbeteringen bij de toepassing   opstarttijd vergeleken met koude caches, en een behoorlijke hitrate vergeleken   naar een na¨ıve voorspellingsalgoritme.

Het gebruik van de gebruikersruimte brengt echter grote obstakels met zich mee   voorspel een concurrerende oplossing voor het probleem van de opstarttijd. In   met name, niet over volledige informatie over de I / O van toepassingen   verzoeken en een gebrek aan sterke communicatiekanalen met de   pagina-cache subsysteem degradeert de werking van de preload drastisch,   vooral onder moeilijke geheugenomstandigheden.

Een ander inherent probleem met het voorspanningsontwerp is hoge variantie en   laag voorspellingsvertrouwen veroorzaakt door de relatief losse correlatie van   applicatie start-ups. Hoewel we met succes een model hebben gebouwd om te volgen   applicatie-correlaties, het feit dat applicatie-lanceringen erg zijn   zeldzame gebeurtenissen in vergelijking met het tijdsschema waar computers aan werken, een   application-level prefetching-schema is veroordeeld om enorm te consumeren   vooraf geheugen ophalen over praktisch in eindeloze perioden. Deze   geheugen kan worden gebruikt om het cachegedrag op de korte termijn te verbeteren.

Ten slotte komen we met een aantal aanbevelingen voor het systeem   ontwikkelaars over het verbeteren van opstarttijd, login-tijd en applicatie   opstarttijd zonder terug te vallen naar een prefetcher geïntegreerd met de   cache-subsysteem in de kernel. Natuurlijk, een op bestanden gebaseerde prefetcher in   de kernel kan daar bovenop verbeteren.2

1Bron:techthrob

2Bron:Preload - An Adaptive Prefetching Daemon van Behdad Esfahbod - Een proefschrift ingediend conform de eisen voor de graad van Master of Science - Graduate Department of Computer Science - Universiteit van Toronto Copyright (c) 2006 door Behdad Esfahbod.


10
2018-04-28 09:26



Bedankt voor je antwoord, Mitch. Dit waren ook mijn gedachten. Vooral op de laptop kan een voorspanning een probleem zijn. Maar toch zou ik graag een officiële bron / discussie willen over waarom het Ubuntu-team heeft besloten om de preload niet te verzenden. - Glutanimate


Nadelen? Er zijn er geen!

Verbeterde toepassingen voor het openen van de prestaties door de gebruiker. Ik gebruik het al jaren op mijn systemen, evenals "read-ahead" en heb geen problemen. De foutpagina voor preload suggereert ook geen nadelen.

Preload monitort applicaties die gebruikers uitvoeren en door deze gegevens te analyseren, wordt voorspeld welke toepassingen gebruikers kan worden uitgevoerd en haalt die binaire bestanden en hun afhankelijkheden op in het geheugen voor snellere opstarttijden.

Het verhoogt wel de opstarttijd, maar de snelheid waarmee de ophaaltijd van applicaties wordt verkort, is veel groter dan dit kleine probleem.

zien artikel 

Als je constant veelgebruikte apps gebruikt zoals Firefox of Gimp u zult enkele sterk verbeterde laadtijden merken. Preload is een daemon die discreet op de achtergrond draait en je bureaublad hoe dan ook niet verstoort. Ubuntu-gebruikers kunnen de preload installeren met:

sudo apt-get install preload

resultaten:

Graph showing difference between normal and preload start

ref


8
2018-03-05 23:16



Ik weet wat het doseert en ik lees verschillende 'vooraf geladen HowTos', maar ik kon nergens iets lezen over de nadelen. Als er geen gelijkspel zou zijn, zou het standaard worden verzonden met veel Linux-distributies, maar voor zover ik weet is dat niet het geval. - Paradiesstaub
De uitvoering is dat niet verminderde, maar is gestegen. Dat is het hele punt van het gebruik van de preload. Misschien is het gewoon een typfout. - Marco
Je diagram ziet er geweldig uit, maar het mist belangrijke informatie. Het zou 100% passen in een powerpoint-presentatie van een verkoper, maar het is een voorbeeld van 'slechte statistieken'. Waar komen deze figuren vandaan? Welk protocol werd gebruikt om ze op te nemen? Was het een enkele snapshot? Hoeveel machines waren er bij het monster betrokken? Wat was de hardware? Hoe is het preload-programma geconfigureerd?
@Ringtail: je hebt gelijk. U bent niet de auteur van dat diagram. Maar als je door alle links in de artikelen klikt, kom je op een Techthrob.com-pagina die een artikel had moeten hosten dat geschreven was door de auteur van het programma. Maar die pagina is verdwenen. Er is dus alleen bron: de these van de auteur.
Men zou de hardware moeten upgraden als een gnome terminal meer dan 2 seconden nodig heeft om op te starten ... - Peter and the wolf


Kijk eens naar dit document van Lorenzo Colitti over het analyseren en verbeteren van de opstarttijd van GNOME.

Coletti is niet de auteur van preload. In zijn document verwijst hij naar de preload-projectpagina op Sourceforge.net.

In principe zijn er 2 redenen.

  1. Het was een GNOME-ontwikkeling. GNOME is niet populair geworden, en zoals Coletti in dit artikel beweert, ontwikkelaars van andere omgevingen zagen dit werk als de verkeerde benadering.

  2. preload is gericht op single user performance, niet op multi-user. Dus de reikwijdte van het project komt niet overeen met de reikwijdte van alle distributies.

Lees de pagina's 9 & 10 van Colitti's document.


2
2018-05-04 00:21



Uw antwoord zegt niet echt of preload maakt een enkel gebruikerssysteem sneller of niet. Het linkt alleen naar artikelen. Ik probeer te rechtvaardigen dat 8gb RAM wordt weggegooid, dat Ubuntu 50% van het RAM-geheugen gebruikt en 16GB RAM koopt en zoiets als preload gebruikt om alle / etc, / usr, / lib, / bin, / sbin en wat ik ook op te slaan op te slaan anders kan ik er aan denken. - WinEunuuchs2Unix