Önyükleme kullanmanın sakıncaları? Neden varsayılan olarak dahil edilmiyor?


110

Kullanmanın sakıncaları nelerdir bilmek isterim preload? Olumsuz bir olumsuzluk preloadolmazsa, varsayılan olarak etkin olur, sanırım bir kısmı var.

Tamam, biraz daha fazla RAM'e ihtiyacınız var, ancak çoğu insanın Ubuntu'nun ihtiyacı olduğundan çok daha fazla RAM'i var - peki kullanmanın olumsuz yönleri neler preload?


6
Yararlı sorunuz için teşekkür ederiz. Bilmek istiyorum, efsane mi?
Saeed Zarinfam

1
CPU kullanımı ve pil bazılarının bir dezavantajı olabilir ... bugs.launchpad.net/ubuntu/+source/preload/+bug/481861
Mateo

1
Güzel soru. Bazı dağıtımlar, temel işletim sistemi gibi önyüklemeyle yüklenmiştir (dizüstü bilgisayarımda çalıştırdığım şey budur çünkü gala Ubuntu'nun birliğinden çok daha hızlıdır).

1
Sadece bir tahmin: Varsayılan olarak dahil etmemenin bir nedeni, tüm sistemlerde kullanılamaması (donanım gereklilikleri standart gerekliliklerden farklı olabilir).
don.joey

2
brainstorm.ubuntu.com/idea/1122 buradaki bir gönderi "kök ayrıcalıklarına sahip bir arka plan programı olarak çalıştığını" önerir. Bu bir güvenlik sorunu olabilir, varsayılan dahil edilmesini isteyen bir beyin fırtınası da vardır brainstorm.ubuntu.com/idea/14092
Mateo

Yanıtlar:


65

Basitçe söylemek gerekirse, Preload herkes için değil. Uygulamaları veya kütüphaneleri çok açarsanız harikadır. Yalnızca zaman zaman uygulama veya kitaplık yüklerseniz zararlı olabilir. Asıl kullanımımdan iki örnek kullanacağım (ve evet önyükleme kullanıyorum).

İlk olarak, Google Chrome. Şimdi bir tarayıcı açılışta sadece bir kez, belki iki kez açılıyor (benim için bir web geliştiricisiyim). Chrome ve ilgili kütüphaneleri bellekte kalıyor, çünkü her zaman kullanıyorum. Tüm krom pencereleri kapattığımda bile, arka planda hala bir şey yapıyor. Bu nedenle, Chrome'un önceden yüklenmiş bir kopyasını almaya adanmış tüm koç, toplam ve kesin bir atıktır. Asla (veya nadiren) boşaltılmaz. Ortalama bir kullanıcı için bu çok sayıda uygulama için geçerlidir. Bir Office kullanıcısı hemen her zaman e-posta uygulamasını açacaktır. Böylece başlangıç ​​zamanındaki küçük tasarruflar tamamen boşa harcanır, çünkü e-posta uygulamalarını yalnızca günde bir kez açarlar ve açık bırakırlar.

İkinci örnek komisyondur. Test etmeye inanan bir yakut geliştiricisi olarak TON kullanmıştım. tırmık koşar, birkaç saniye çalıştırılır - dakika sonra çıkar. Preload günlük işlerimi hızlandırmama yardımcı oluyor, çünkü önceden komisyon ve gerekli kütüphanelerini (çok kapsamlı olabilir) yüklüyor. Bu yüzden tırmık akan bir çok başlangıç ​​ve duraklama var. 400 veya 500 tırmıklık tırmık hızını birkaç saat boyunca hızlandırmak için kullanılan ekstra ram buna tamamen değer.

Bu nedenle, varsayılan olarak etkinleştirilmemesinin nedeni, performansı gerçekten iyileştirme yeteneğinin büyük ölçüde sisteminizi nasıl kullandığınıza dayanmasıdır . Bazı insanlar için negatif, bazıları için olumlu olacaktır.

Son olarak, önyükleme yapmak, kullanmasanız bile, koç tüketir. Bu nedenle, uygulamaları sık sık başlatmıyorsanız, bu koçu diğer önbellek türleri için uygun hale getirmeyerek tüm sisteminizi fraksiyonel olarak yavaşlatabilirsiniz. Unutmayın, 32 Gig ram olsa bile, Linux etkileşiminizi daha hızlı hale getirmek için verileri önbelleğe almak için mümkün olduğunca çok çaba harcayacaktır. Ön yüklemeyi kullanarak bu boş belleği bir miktar azaltabilirsiniz. Sadece biraz küçük olsa bile, kromu 1 kez başlatırken kaydettiğiniz 2 saniye, çalışmaya devam ettiği ay boyunca 60 saniyeye mal olabilir.


1
Ayrıca, önyüklemeyi kullanmak önyüklemeyi yavaşlatır. Daha fazla malzeme önceden yüklenir, sisteminizin çalışmaya başlaması daha uzun sürer. Şimdi, tüm yapmak istediğinizi başlatmak, bir cümleye bir cümle yazmak ve hemen sonra kapatmak olduğunu hayal edin. Notu yazabilmek için bile bekliyor olacaksınız, çünkü sisteminiz muhtemelen bu görevle ilgili olmayan şeyleri önceden yüklüyor. Bu nedenle, bir şekilde, önyükleme (genel olarak) iki ucu keskin bir kılıçtır.
F-3000

1
Önyükleme aslında bu şekilde çalışmıyor ... "Çekirdekliyken bunu önbelleğine yükle hey, yakında ihtiyacım olacak" gibi çekirdek ipuçlarını veriyor ve çekirdek de öyle. Yani aslında sizin açıkladığınız gibi RAM kullanmıyor. İki şey olabilir, tho: Önbelleğe yükleme yapmak, yakında kullanacağınız uygulamaları dışarı iter - bu, uygulamaya geri döndüğünüzde kısa bir donma ve sabit disk etkinliği ile sonuçlanır.
hurikhan77,

1
İkincisi: Eğer önyükleme kullanım şeklinizi yanlış tahmin ederse (bu durum sürekli olarak yüklü uygulamaların olması durumunda oldukça iyi olabilir), daha sonra tekrar RAM'den dışarı itilecek olan şeyleri önbelleğe alır ve ardından RAM'in önbelleğini çıkardı. için daha iyi kullanmak. Ancak sonuçta vfs önbellekinin yaptığı gibi sadece RAM'i tüketir - yani bu aslında göze çarpan bir RAM ve dolayısıyla bir şekilde “boş RAM”. Ancak yazarken "normal önbellek" ile rekabet eder.
hurikhan77,

1
Verilen coteyr ve @ hurikhan77 yukarıda hatırlıyorsa, Preload'ın eski, düşük RAM (başlangıçta ~ 800 MB ücretsiz) masaüstü kutularında algılanan hızını artırmaya yardımcı olmak için karşı etkili bir yöntem olduğunu kabul ediyor musunuz? FYI, bu tür yenilenmiş kutulardaki Preload'ı aktif hale getirme, çekirdek sanal bellek yöneticisine çok az iyileştirme için birçok çalışma sağlayacaktır?
tuk0z 13:16

2
@lliseil Eğer bu 800 MB gerçekten ayrılmamış RAM ise, ön yükleme yardımcı olabilir ... Ama muhtemelen daha fazla RAM ile daha iyi çalışır. Ve bunun anlamı şudur: Preload, daha sonra başlayabileceğiniz belleğe aç uygulamalar ile çakışacaktır. Değişkenliği azaltmak burada gerekli olabilir; bu da muhtemelen çok fazla RAM kullanacağınız anda önyükleme yapmanıza neden olabilir.
hurikhan77 13:16

21

Bountier Saeed Zarinfam tarafından 5 Eylül 2012 tarihinde sorulan soru :

Herkese selam Bilmek istiyorum, bu bir efsane mi? Does [preload] gerçekten benim performansını artırmak? Kullanmanın sakıncaları nelerdir? Bu özelliklere sahip bir dizüstü bilgisayarım var (Core i5 CPU, 4GB RAM, 128GB SSD Sabit). Çok teşekkür ederim.

  • Bir SSD'niz varsa önyüklemeye gerek yok
    • Bunun nedeni, SSD'lerin sabit disklerden çok daha hızlı rasgele erişim süreleri sağlamasıdır , bu nedenle bellekteki ikili dosyaları / bağımlılıkları önceden yüklemek "IMO'dur.
    • O zaman temel dezavantajı, önyüklemenin somut bir fayda sağlamadan ilave bellek kullanmasıdır.

20
Bu, OP'nin sorusunu, önyüklemenin herhangi bir sakıncası olmadığı için kapsamıyor mu? İkincisi, bir fikir yarattınız, “ön yükleme” hakkında bir açıklama yaptınız ve sonra “SSD” yi denklemde kullandınız. Hangi noktada soruya cevap verecektin?
Ringtail

12

Önceden yükleme, sisteminizin arka planında çalışan ve en çok hangi programları kullandığınızı gözlemleyerek, uygulama yükleme süresini hızlandırmak için önbellekleyerek çalışan bir “uyarlanabilir okuma cihazı” dır. Önceden Yüklemeyi kullanarak, kullanılmayan RAM'i iyi çalışmaya koyabilir ve masaüstü sisteminizin genel performansını iyileştirebilirsiniz.

Performansta ciddi bir değişiklik görmeyi beklemeyin. Ayrıca, uygulamaları tekrar tekrar açıp kapatıyorsanız, bilgisayarınız zaten bu dosyaları önbellekte saklar (buna "sıcak" yük denir), bu nedenle orada hızda hiçbir fark görmezsiniz. Bununla birlikte, örneğin bir programı aralıklı olarak kullanırsanız, hızda bir iyileşme göreceksiniz; bu programlar Preload'a göre daha hızlı başlayacaktır.

Önceden yükleme, uygulama başlatma zamanında büyük bir gelişme sağlayabilir; Çoğu modern makinede yedeklenecek çok fazla bellek olduğundan, Preload bu RAM'i iyi bir şekilde kullanıyor. 1

Şimdi söyleniyor ki, önyüklemenin harika bir fayda olduğu anlaşılıyor ve olabilir.

Sanırım işletim sistemi ile önceden yüklenmemiş olmasının sebebi, kullanıcının tam olarak ne yaptığını bilmesi ve kullanabilmek için yeterli deneyime sahip olması ve sistemin yeterli RAM'e sahip olması gerektiği.

Daha teknik bir açıdan, önyükleme, verileri sabit diskten RAM'e taşıyarak çalışır; bu, kullanılmadığı taktirde çoğu sabit diskin uyku moduna geçmesini sağlar ve gerektiğinde geri dönmesi gerekir. Bu nedenle, sürücüyü yukarı / aşağı döndürmek, Yük / Boşaltma Döngüsü sayımına ve Açılış zamanı sayısının artmasına ve sürücünün ömrünü kısaltacaktır.

Uygulama düzeyinde tahminler üzerine çalışan Markov tabanlı uyarlamalı ön hazırlık programı olan preload'ı tasarladık ve uyguladık. Ayrıca, önyükleme kullanıcı alanında uygulanır ve uygulama çalışma zamanı ortamını hiçbir şekilde değiştirmez. Bu, bildiğimiz kadarıyla bu seviyede pre le le sistemi ön eklemesi ile deney yapan ilk iştir.

Deneysel sonuçlarımız, soğuk önbelleklere kıyasla uygulama başlatma süresinde umut verici gelişmeler ve naif bir tahmin algoritmasına kıyasla iyi bir isabet oranı göstermektedir.

Bununla birlikte, kullanıcı alanında olmak, ön yükleme işlemini başlangıç ​​zamanı sorununa rekabetçi bir çözüm haline getirmede büyük engeller getirir. Özellikle, uygulamaların G / Ç istekleri hakkında tam bilgiye sahip olmamak ve sayfa önbellek alt sistemiyle güçlü iletişim kanallarının olmayışı, özellikle sıkı bellek koşulları altında önyüklemenin etkinliğini büyük ölçüde düşürür.

Ön yükleme tasarımıyla ilgili diğer bir doğal problem, uygulama başlangıçlarının nispeten gevşek korelasyonunun neden olduğu yüksek değişkenlik ve düşük tahmin kuvvetidir. Uygulama korelasyonlarını izlemek için başarılı bir model oluştururken, uygulamanın başlatıldığı gerçeği, bilgisayarların üzerinde çalıştığı zaman çizelgesine kıyasla çok nadir görülen olaylardır, uygulama düzeyinde bir ön hazırlık programı pratik olarak belirli bir zaman diliminde büyük ön hazırlık belleği tüketmeye mahkum edilir. Bu bellek, kısa süreli önbellek davranışını geliştirmek için kullanılabilir.

Son olarak, sistem geliştiricileri için, çekirdekte önbellek alt sistemine entegre önceden geri düşmeden önyükleme zamanı, oturum açma zamanı ve uygulama başlatma zamanını iyileştirme konusunda bir dizi öneri hazırladık. Tabii ki, çekirdekte bulunan based le tabanlı bir ön avcı bunun üzerinde gelişebilir. 2

1 Kaynak: techthrob

2 Kaynak: Preload - Behdad Esfahbod'dan Uyarlamalı Önceden Getiren Bir Daemon - Yüksek Lisans derecesi için şartlara uygun olarak sunulan bir tez - Bilgisayar Bilimleri Yüksek Lisans - Toronto Üniversitesi Telif Hakkı (c) 2006 Behdad Esfahbod.


1
Cevabınız için teşekkür ederim Mitch. Bunlar benim de düşüncelerimdi. Özellikle dizüstü bilgisayarlarda önyükleme bir sorun olabilir. Ancak yine de, Ubuntu ekibinin deniz taşımacılığı önyüklemesine neden karar verdiğine dair resmi bir kaynak / tartışma bulmayı çok isterim.
Glutanimate

9

Dezavantajları? Hiç yok!

Kullanıcı tarafından artırılmış performans açma uygulamaları. Yıllarca sistemlerimde, "ileriye dönük" olarak kullandım ve hiç sorun yaşamadım. Hata sayfası ön yükü için ya herhangi bir sakınca önermez.

Önceden yükleme, kullanıcıların çalıştırdığı uygulamaları izler ve bu verileri analiz ederek kullanıcıların hangi uygulamaları çalıştırabileceğini tahmin eder ve bu ikili dosyaları ve bağımlılıklarını daha hızlı başlangıç ​​süreleri için belleğe getirir.

Önyükleme süresini biraz artırıyor, ancak uygulamaların hızını azaltma süresi bu küçük sayıyı aştı.

makaleye bakın

Sürekli Firefox veya Gimp gibi uygulamalar kullanıyorsanız, bazı büyük iyileştirilmiş yükleme süreleri olduğunu fark edeceksiniz. Önceden yükleme, arka planda gizlice çalışan ve yine de masaüstünüzü bozmayacak bir arka plan programıdır. Ubuntu kullanıcıları önyüklemeyi aşağıdakilerle yükleyebilir:

sudo apt-get install preload

Sonuçlar:

Normal ve önyükleme başlangıcı arasındaki farkı gösteren grafik

ref


3
Ne dozunu biliyorum ve birkaç 'ön yükleme HowTos'unu okudum, ancak hiçbir yerde dezavantajları hakkında bir şeyler okuyamadım. Herhangi bir geri çekilme olmazsa, varsayılan olarak birçok Linux dağıtımıyla - ancak bildiğim kadarıyla - sevk edilemezdi.
Paradiesstaub

1
Performans düşmedi , ancak arttı . Bu, önyüklemeyi kullanmanın esas noktasıdır. Belki de sadece bir yazım hatası.
Marco

2
Diyagramınız harika görünüyor ancak önemli bilgilerden yoksun. Bir satış elemanının powerpoint sunumuna% 100 uyacaktır, ancak 'kötü istatistik' örneğidir. Bu rakamlar nereden geliyor? Onları kaydetmek için hangi protokol kullanıldı? Tek bir anlık görüntü neydi? Örnekte kaç makine katılmıştır? Donanım neydi? Ön yükleme programı nasıl yapılandırıldı?

1
@Ringtail: Haklısın. Bu şemanın yazarı sen değilsin. Ancak makalelerdeki tüm bağlantıları tıklarsanız, programın yazarı tarafından yazılmış bir makaleyi barındırması gereken bir Techthrob.com sayfasındasınız. Ancak bu sayfa gitti. Yani sadece kaynak var: yazarın tezi.

2
Bir gnome terminalinin başlatılması 2 saniyeden uzun sürerse, donanım yükseltilmelidir ...
Peter ve kurt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.