Takas bölümü / dosyası sistemi nasıl etkiler?


20

Bazı arkadaşlar bana Android telefonlarının normal uygulamalar için çok az (<100MB) kullanılabilir belleğe sahip olduğunu söyledi, çünkü işletim sistemi ve bazı kililemeyen hizmetler RAM'in çoğunu alıyor. Örneğin, 512 MB'lık bir telefon yalnızca 90 MB kullanılabilir bellek gösterir, böylece aynı anda yalnızca 2-3 uygulama çalışabilir.

Takas bölümü / dosyası oluşturmanın yardımcı olup olmayacağını merak ediyorum, ancak tüm web'de karışık görüşler gördüm ve ne yapacağımdan emin değilim. Sorularım:

(1) Özellikle işletim sisteminde ve bu kililemeyen servislerde takas etmek için sıklıkla kullanılmayan pek çok bellek sayfası olacak mı?

(2) Küçük bellek sayfalarının değiştirilmesi flaş bellek ömrünü nasıl etkiler? Flaş (veya SD kart?) Otomatik olarak aşınma dengelemesi yapıyor mu?

(3) Değiştirme, birden fazla uygulama çalıştırırken performansa gerçekten yardımcı olur mu? (1) 'in cevabının evet olduğunu varsayarım.

(4) Flash'a yazmak çok yavaş olacak ve böylece takas oluştuğunda yanıt verme hızı zarar görecek mi?

(5) Android'in takas mekanizmasını Linux çekirdeğinden koruduğu doğru mu, yani takas bölümü / dosyası olduğu sürece ekstra yapılandırma olmadan takas yapacak mı?

Okuduğunuz için teşekkürler.

Yanıtlar:


8

Android Uygulama Yaşam Döngüsü çok daha gelişmiş bir takas şekli olduğundan, Android için takas yapmanın çok yararı olacağını düşünmüyorum.

(1) Özellikle işletim sisteminde ve bu kililemeyen servislerde takas etmek için sıklıkla kullanılmayan pek çok bellek sayfası olacak mı?

Masaüstü çekirdeğinde bile işletim sistemi çekirdeğini değiştiremezsiniz ve Android daha fazla RAM gerektiğinde hizmetleri zaten öldürür. Cihaz satıcınız sürekli olarak işe yaramaz hizmetlere sahip olmanız gerektiğinde ısrar ederse, cihazınızı rootlayın.

(2) Küçük bellek sayfalarının değiştirilmesi flaş bellek ömrünü nasıl etkiler? Flaş (veya SD kart?) Otomatik olarak aşınma dengelemesi yapıyor mu?

SD kart aşınma dengelemesi yapsa bile, takas oldukça zarar görür.

(3) Değiştirme, birden fazla uygulama çalıştırırken performansa gerçekten yardımcı olur mu? (1) 'in cevabının evet olduğunu varsayarım.

Android bağlamında değil. İstediğiniz gibi işlem yapmaya devam edecek geleneksel işletim sisteminin aksine, Android eski, kullanılmayan işlemleri öldürmeye zorlayacak ve belleklerini geri alacak; görev değiştirdiğinizde uygulamalar durumlarını zaten kaydedeceğinden bu öldürme hızlıdır.

(4) Flash'a yazmak çok yavaş olacak ve böylece takas oluştuğunda yanıt verme hızı zarar görecek mi?

Muhtemelen hayır. Bunun için kriterlere ihtiyaç duyacak.

(5) Android'in takas mekanizmasını Linux çekirdeğinden koruduğu doğru mu, yani takas bölümü / dosyası olduğu sürece ekstra yapılandırma olmadan takas yapacak mı?

Android'in takas mekanizmasını sürdürüp sürdürmediğini bilmiyorum, ancak yapsa bile (veya kendi çekirdeğinizi derleseniz bile), yine de bazı yapılandırmalara ihtiyacınız olacak. Genellikle sadece fstabtakas dosyasına işaret eden ve yapan bir dosyaya sahip olur swapon -a.

Aslında, takas işleminin performansa gerçekten zarar vermesinin nedenleri var: Android'in bellek yönetimi şeması olan Uygulama Yaşam Döngüsü'nün düzgün çalışmasını engelliyor.


Cevap için teşekkürler. Yine de sorularım var. Bir Samsung Fascinate'de, 10 adet unlinelable servisi yaklaşık 110M bellek tüketir. Çalışmakta olan başka 22 hizmet vardır ancak "Çalışan Uygulama" hiçbir uygulamanın çalışmadığını gösterir. Arkadaşımın telefonu ve daha önce tam olarak ne yaptığını bilmiyordum, ancak birçok hizmetin / uygulamanın aynı anda çalışabilmesi oldukça mümkün görünüyor. Tüm bu arka plan hizmetlerinin / uygulamalarının, başlatıldıklarında gereken tüm sayfaları kullandığını düşünmüyorum. Ayrıca, uygulama durumunu kaydetme + yeniden yükleme ve uygulamayı yeniden başlatma + geri yükleme durumu da yavaş olacaktır.
dökmeyen

Bu sorunu düşünmenin başka bir yolu şudur: flash ömrünün bir sorun olmadığını varsayalım , Android takas mı yapmalı? Değilse, Android uygulamaları ile değiştirmeyi Android'de kullanışlı olmayan masaüstü uygulamalar arasındaki temel fark nedir? Android Life Cycle'ın masaüstü / sunucu uygulamaları için çalıştığını düşünmüyorum.
dökmeyen

@evergreen: Uygulama arka plana gittiğinde uygulama durumu kaydedilir (örneğin, kullanıcı görevi değiştirmek için ana ekrana bastığında). Daha sonra, başka bir uygulamanın belleğe ihtiyacı olduğunda, eski uygulamalar veya arka plan hizmetleri zorla öldürülür (FK neredeyse hiç zaman almaz). Bu, görev durumu çok önceden kaydedildiğinden, görev sonlandırmanın derhal yapıldığı anlamına gelir. Halihazırda bellekte olan bir uygulamayı yeniden yüklediğinizde, en hızlı yeniden yükleme süresini elde edersiniz; ancak uygulama zaten kaldırılmışsa, uygulamanın tam yeniden yükleme yapması gerekir (bu, takas ile aynı durumdur)
Lie Ryan

@evergreen: bir görev katili kullanırsanız, uygulamaları boşaltmaya zorlayacaksınız ve uygulama bellekte kaldığında hızlı yeniden yükleme yerine her zaman tam yeniden yükleme yapmanız gerekecektir. Bir takas dosyası / bölümü kullanırsanız, (eski) uygulamalar değiştirilir ve geri yükleme işlemi tam yeniden yükleme ile hemen hemen aynı miktarda çalışma gerektirir. Dışında: tam yeniden yükleme ile, uygulama geliştirici kalıcı verileri geçici verilerle ayırdı ve neyin kaydedileceğini ve neyin saklanmayacağını optimize edebilir. Takas geri yüklerken, uygulama geliştiricisine hiçbir şey bırakmaz ve her şeyi değiştirirsiniz.
Lie Ryan

@evergreen: Flash yaşamının bir sorun olmadığını varsayarsak bile, Uygulama Yaşam Döngüsü daha iyi bir iş çıkardığı için Android takas yapmamalıdır. Android Yaşam Döngüsü, bellek kısıtlı ortamlar için tasarlanmıştır, masaüstü ve sunucu ortamlarında devasa miktarda belleğiniz vardır ve kullanıcılar çok daha fazla çoklu görev yapar ve arka plan programlarının işletim sistemi tarafından öldürülmesini beklemezler. Android Yaşam Döngüsünün zayıflığı, uygulama desteği gerektirmesidir. Uygulama her zaman öldürülmeye hazır olmalı ve durumu önceden belirlenmiş noktalarda kaydetmelidir. Bu karmaşıklık, masaüstü uygulamaları için gereksizdir.
Yalan Ryan

5

İnternetteki herkesin size söyleyeceklerine rağmen, takas yapmanın kesinlikle bir yararı vardır. Deneyin ve kendiniz görün. Ampirik olarak, bir G1 veya düşük hafızalı başka bir telefonda, takas telefonun daha iyi ve daha hızlı çalışmasını sağlar.

Evet, Android'de Yaşam Döngüsü "görev yönetimi" yerleşiktir, ancak çok iyi değildir. Bu rutin süreçleri öldürür , hafızanın bittiğinde ve uygulamalar "kullanarak durumunu kaydetmek için beklenen Demetleri bunları yeniden başlattığınızda bu yüzden, onlar sonuncularıdır aynı durumda yeniden başlatmanızı".

Android bir işlemi kaldırması gerektiğini belirlediğinde, bunu acımasızca yapar, basitçe zorla öldürür. Çekirdek daha sonra, uygulamanın iyi yazılmış ve kibar bir çıkış talebine yanıt vermesine dayanmadan, sürecin ihtiyaç duyduğu tüm kaynakları derhal geri alabilir. Çekirdeğin uygulama kaynaklarını hemen geri almasına izin vermek, bellek yetersizliği durumlarından kaçınmayı çok daha kolay hale getirir.

Bu gerçekten işe yararsa harika olurdu ve gelişigüzel takastan daha iyi olurdu. Ancak uygulamalar durumlarını gerçekten kaydetmez; bu duruma geri dönmek için minimum miktarda bilgiyi saklarlar. (Ve bazı uygulamalar bunu yapmak için bile uğraşmaz.) Bu duruma geri dönmek zaman alır. Takas, aslında yeniden yüklenmesi gereken uygulamanın tüm durumunu kaydettiğinden, uygulamalar arasında geçişi çok daha hızlı hale getirir.

Örneğin, tarayıcıdan başka bir uygulamaya geçerseniz, tarayıcı neredeyse her zaman öldürülür ve geri döndüğünüzde tüm sayfayı İnternet'ten yeniden yüklemesi gerekir. Bu, durumu takastan yeniden yüklemekten daha uzun sürer, bir veri planındaysanız paranızı boşa harcar ve web sayfası dinamik olduğunda durum sorunlarına neden olur.

Birçok uygulamanın başlatılması gerektiğinden çok daha uzun sürer veya yeniden başlatıldıklarında aynı duruma geri dönmezler, bu nedenle bunların değiştirilmesi daha iyi çalışır.

Stok sisteminden memnun olan insanların telefonlarını farklı kullandıklarını tahmin ediyorum.

Cyanogenmod ile takas bölümü kullanmalı mıyım?


Yaşam Döngüsüne bırakırsanız, uygulamanın performansı artırmak için ek verileri önbelleğe alması kararı (örn. Yüklü web sayfaları) olacaktır. Takas kullanıyorsanız, bu işletim sisteminin kararıdır, ancak işletim sistemi en iyi performansı optimize etmek için ne kaydedeceğinizi ve ne kaydedemeyeceğinizi belirlemek için en iyi konumda değildir, bu nedenle her şeyi kaydetmeli ve geri yüklemelidir. Tarayıcı, görevleri değiştirirseniz sayfaları İnternet'ten yeniden indirmez, genellikle Tarayıcı'yı açar, bir sürü ağır oyuna ve diğer etkinliklere geçer ve her şeyi anında yüklediğim son sayfamla Tarayıcıya geri dönerim.
Yalan Ryan

Sağ. Her iki sistem de optimum değildir, ancak takas çoğu uygulama için daha iyidir. Tarayıcı, sayfayı yalnızca siz tekrar açmadan öldürülürse yeniden yükler. Hafızası düşük olan bir telefonda neredeyse her zaman öldürülür.
endolith

@LieRyan - "Her şey anında yüklendiğinde son sayfamla Tarayıcıya dön" yeniden yüklendikten sonra açılan sayfalardaki tarayıcı konumunu geri yüklüyor musunuz? Chrome'un yapmaması gereken şey (bu tarayıcıyı çok sevmeme rağmen), arama yapmadan önce bazı günlük web sayfasının ortasında okumayı bıraktığınızda çok talihsiz bir durumdur.
Kerim

2

Sadece 340M RAM'e sahip bir Spice mi-435 (sadece Hindistan'da satılıyor) var. Lanet olsun, takas dosyaları çok yardımcı oluyor. Telefonum ICS'yi bu kadar düşük RAM'de çalıştırıyor ve kesinlikle bellek durumlarının çoğunu giriyor ve takas dosyası çok yardımcı oluyor. Tüm uygulama durumları, aktif kullanımda değilken takas işlemine aktarılır. Bu, telefonuma daha fazla uygulama ve RAM aç uygulamalarının eskisinden çok daha az gecikmeyle sorunsuz çalışması için yer veriyor. Rağmen ben daha önce kullanmak uygulamasını açtığınızda bir sorun geliyor. SD, gemideki yüksek hızlı RAM'den çok daha yavaş olduğu için durumunu yüklemek zaman alır. Ancak, takas seçeneği çok daha az RAM için daha iyidir. 512M'den daha az ama 512M'den daha fazla RAM için bölümü değiştirmenizi tavsiye ederim.

Umarım faydalıdır.


1

Dosya değiştirme, daha yüksek RAM'li sistemlerde bile yardımcı olur. Dört çekirdekli 1 gb ram 7 inçlik tabletim, uhs-1 micro sd kartta 2 gb'lik bir takasta chucking'den büyük bir çoklu görev artışı sağlıyor. Ve elbette, hafızanın fiyatı hızla düşüyor ve sürekli yazarken bile nand flaşın geçen yıllara ihtiyacı var.

Ben temelde görüşüm, çünkü performans farkı o kadar radikal ki, muhtemelen çok büyük miktarda RAM'e sahip olan herkes bunu yapıyor olmalı. Aslında muhtemelen android'de standart bir seçenek olarak gelmelidir (daha büyük uygulama önbellekleri ve uygun boyutlu bir internet önbelleği ile birlikte).

Yani 64-128 gb mikro sd (uhs-1), hatta bu yıl çıkan uhs-2, artı bir tür ilkel ssd olan 16-64 gb dahili nand, genellikle "hızlı" bir nand veya SSD bile, pencere plakalarında kullanıldığı gibi - tüm bu yüksek hızlı alanı çok fazla doldurmuyorsunuz. Hız sadece video ile oynatılıyor veya hafızaya uygulamalar yükleniyor - tam olarak burada kullanılıyor.

Tabii ki ideal olarak, üreticiler çözünürlük veya ekstra çekirdeklerden daha fazla RAM'e odaklanacaktı, çünkü sistem hızı açıkça daha yüksek ram'dan çok yararlanıyor ve muhtemelen dahili depolama hızını da artırmalı (tam ssd tipi sistemlere geçiş gibi) Ancak bu sırada yüksek çözünürlükler tüm cihazlarda bir çeşit RAM açığına, takas dosyasına ve makul bir şekilde hızlı bir harici sd'ye önbelleğe alma eğiliminde olsa da çok mantıklıdır.

Gerçekten de, bazı tarayıcıların daha dolgun önbellekleme yaptıklarını görmek güzel olurdu, çoğu tarayıcı ya yavaş ya da düşük özellik, nadiren hızlı ve tam özellikli - ve kısmen dahili sürücüdeki uygulama önbelleği için alan küçük olduğu için. Düşük bellek ve depolama ortamında çalışmak üzere tasarlanmıştır ve tüm hikaye değişmektedir. Koç, olması gerektiği kadar doğramayacak olsa bile, depolama kesinlikle ve UHS-1 standartlarında (veya bu yıl piyasaya sürülen uhs-2) oldukça hızlı olabilir. hızlı "veya ssd.

Ve harici bellek maliyeti, fıstık gerçekten, daha yüksek kapasiteli uhs-1 için bile. En az 64gb uhs-1 mükemmel uygun fiyatlı (nerede olduğum 50 dolar, ama daha az USD olurdu), cihazdan çok daha ucuz ve 32 gb ve altı temelde birkaç tenners.

Masaüstünden öğrenilecek çok sayıda ders gerçekten, özellikle de özellikler daha da artıyor - en yavaş performans bağlantısı depolamadan koça yükleniyor. Bunu azaltmak için ne kadar çok şey yapabilirsiniz, o kadar iyi.

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.