2-4 GB RAM'e sahip yeni bir Linux makinede (Debian) takas yapmam için hangi boyuta karar vereceğim? Gerçekten takas alanına ihtiyacım var mı?
2-4 GB RAM'e sahip yeni bir Linux makinede (Debian) takas yapmam için hangi boyuta karar vereceğim? Gerçekten takas alanına ihtiyacım var mı?
Yanıtlar:
Bir makinede ne kadar takas kullanılabileceğini anlamanın bir çok yolu vardır. Yaygın öneriler, 2 x RAM, 1.5 x RAM, 1 x RAM, .75 x RAM ve .5 x RAM gibi RAM tabanlı formüller kullanır. Formüllerin çoğu RAM miktarına bağlı olarak değişebilir (bu nedenle 1GB RAM içeren bir kutu 2 x RAM takas (2GB) kullanabilirken 16GB RAM içeren bir kutu .5 x RAM takas (8GB) kullanabilir.
Dikkate alınması gereken bir başka şey, kutunun ne için kullanılacağıdır. Kutuda çalışan çok sayıda eşzamanlı çalışan işlem yapacaksanız, ancak bunların önemli bir kısmı zaman süreleri boşta kalır, sonra ekstra takas eklemek mantıklı olur. Çok az sayıda kritik işlem gerçekleştirecekseniz, fazladan takas eklemek mantıklıdır (bu, karşı sezgisel görünebilir, ancak bir dakika içinde açıklayacağım). Bir kutuyu masaüstü olarak kullanıyorsanız, ekstra takas eklemek mantıklıdır.
Takas içermesi gerekip gerekmediğine gelince, evet, söylemelisin. Ne yaptığınızı gerçekten bilmiyorsanız , daima takas alanını eklemelisiniz ve bunun için iyi bir nedeniniz var.
Bakın, Linux çekirdeğinin çalışma şekli, takas yalnızca tüm fiziksel belleği tükettiğinizde kullanılmaz. Linux çekirdeği aktif olmayan (uykuda olmayan) uygulamaları alır ve bir süre sonra uygulamayı gerçek bellekten değiştirmek için hareket ettirir. Sonuç olarak, bu uygulamaya ihtiyaç duyduğunuzda, uygulamanın hafızası takastan RAM'e geri okunurken anlık bir gecikme (genellikle sadece bir ya da iki) olacaktır. Ve bu genellikle iyi bir şeydir.
Bu, aktif uygulamalarınızın ek RAM'e erişmesini sağlayarak aktif olmayan uygulamaları "uyku" ya almanızı sağlar. Ek olarak, Linux bir makinedeki kullanılabilir (ayrılmamış) RAM'leri disk önbelleği olarak kullanır ve bu da çoğu (yavaş) disk etkinliğini daha hızlı ve daha hızlı yanıt verir hale getirir. Etkin olmayan işlemlerin değiştirilmesi, daha fazla disk önbelleği sağlar ve makinenizi genel olarak daha hızlı hale getirir.
Son olarak, yüzleşelim, disk alanı ucuz. Gerçekten ucuz. Takas için (nispeten) küçük bir alan yığınını kaydırmamak için gerçekten iyi bir neden yoktur. Bir makinede 2GB - 4GB RAM ile çalışıyor olsaydım, muhtemelen takas alanımı en azından RAM'e eşit olacak şekilde ayarlardım. 2GB RAM'den az olsaydı, yine de en az 2GB takas ile giderdim.
GÜNCELLEME: Mükemmel bir yorumda belirtildiği gibi (ve eklemeyi unuttum), 'hazırda bekletme' moduna geçirmek isteyebileceğiniz bir dizüstü bilgisayar veya masaüstü kullanıyorsanız (Diski Askıya Al), o zaman her zaman en az hafızan olduğu gibi değiştir. Takas alanı, RAM 'ın içeriğini' uyurken 'bilgisayarda depolamak için kullanılacaktır.
Red Hat , çok sayıda ram olan sunucular için aşağıdaki formülü önerir :
if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB
Sisteminizde 1 GB ram varsa, takasınız 2 GB, 16 GB için 18 GB olacaktır.
Geç cevap ve bunun seçilen cevapta hemen hemen ele alındığını düşünüyorum, ancak burada @ ssapkota tarafından sağlanan cevapta iyi ve kolay bir şekilde sindirilebilir bilgiler var ( buraya kopyalanıp yapıştırılmış).
İşte RedHat'tan çok iyi bir öneri: Tavsiye Edilen Sistem Değiştirme Alanı
Aynı linkten bir alıntı:
Geçtiğimiz yıllarda, önerilen takas alanı miktarı sistemdeki RAM miktarıyla doğrusal olarak arttı. Ancak, modern sistemlerdeki bellek miktarı yüzlerce gigabayta yükseldiği için, bir sistemin ihtiyaç duyduğu takas alanı miktarının o sistemde çalışan bellek iş yükünün bir işlevi olduğu kabul edilmektedir. Bununla birlikte, takas alanının genellikle kurulum sırasında belirlenmiş olması ve bir sistemin hafıza iş yükünü önceden belirlemek zor olabileceğinden , aşağıdaki tabloyu kullanarak sistem takas işleminin belirlenmesini öneririz.
Mevcut tablo (Aralık 2012 itibariyle):
Amount of RAM in the system Recommended swap space Recommended swap space
if allowing for hibernation
--------------------------- ---------------------------- ---------------------------
2GB of RAM or less 2 times the amount of RAM 3 times the amount of RAM
2GB to 8GB of RAM Equal to the amount of RAM 2 times the amount of RAM
8GB to 64GB of RAM 0.5 times the amount of RAM 1.5 times the amount of RAM
64GB of RAM or more 4GB of swap space No extra space needed
Orijinal tablo:
Amount of RAM in the System Recommended Amount of Swap Space
4GB of RAM or less a minimum of 2GB of swap space
4GB to 16GB of RAM a minimum of 4GB of swap space
16GB to 64GB of RAM a minimum of 8GB of swap space
64GB to 256GB of RAM a minimum of 16GB of swap space
256GB to 512GB of RAM a minimum of 32GB of swap space
Bununla ne yaptığınıza biraz bağlı. Uygun iş yüküyle, 16 MB veya 16384 MB RAM'iniz olsun, herhangi bir takas alanına ihtiyaç duymazsınız; Gerçekten de çoğu gömülü Linux cihazı herhangi bir şey olmadan çalışır (ne ile değiştirirlerdi?)
RAM fiyatları düşünüldüğünde, muhtemelen aktif hesaplama için takas kullanmayacaksınız. Peki geriye ne kaldı?
(2) ve (3) büyük ölçüde iş yüküne bağlıdır. Masaüstlerimde, diğer masaüstlerinde çalışan vim, xterms vb. Bırakmaktan (2) 4GB + 'ı kolayca kullanabilirim.
Çalıştığım sunucuların çoğunda, hiçbir şeyin değiştirilebildiği neredeyse hiç bir şey yoktur ve 1-2 GB takas (RAM miktarından bağımsız olarak) Tamam görünür.
madvise
, ama bu başarısız olmayacak ... böcek toplanması sırasında hafızanın tükenmesi hakkında konuşacak. Takas eklemek, bunu engeller, elbette, ancak RAM ekleyecektir. Belki de PAE ile 32-bit nedeniyle?
Xms
ve Xmx
ayarlamazsanız, sizi kötü bir şekilde ısırır: nihayet izleyene kadar iki + hafta boyunca bizim için büyük sorunlara neden oldu
Hangi hizmetleri ve uygulamaları çalıştırmayı planladığınıza bağlı. Hafıza kullanımınızı free -m ile izleyebilir ve takas bölümünüzü zamana göre ayarlayabilirsiniz.
İşte konuyla ilgili ilginç bir tartışma . Şahsen (ve bu tartışmayı okuduktan sonra) takas için yaklaşık 1 GB bıraktım.
Doğrudan Debian ile konuşamıyorum, ancak 2 GB RAM'in üzerine çıktığınızda, orijinal 2xRAM denkleminin genellikle 1xRAM'e düştüğünü biliyorum. Sanırım bir kez 16 GB RAM'e ulaştıysanız, öneri yine .75xRAM'a düşer.
Elbette, bunu Solaris için doğru buldum ve aslında Oracle kurulumları için kullanılan metrikti, yani üzerinde çalışacağınız uygulamalara bağlı olarak YMMV.
Yer değiştirme alanı, aksi takdirde hemen belleğiniz biterse "doldurma" işlevi görebilir.
Bir işlem mevcut RAM'in tamamını kullandığında ve ardından bazı makineler çok yavaş çalışsa da, genellikle geri kazanabilirsiniz. Hangi işlemin soruna neden olduğunu görmek daha kolay olacaktır.
Yıllar boyunca, Windows makinelerinde RAM'iniz kadar takas yapmanız gerektiği kuralına uydum ... Daha fazla yazıcımız olsaydı Novell'de takas ayarını daha yüksek yapardık ... Linux için benim için kural ve uygulama 1GB oldu. Sahip olduğunuz her 2GB RAM için takas. Ve daha hızlı erişmesi için diskin önüne yerleştirin.
LAMP sunucusuysa 1/2 kuralı etkindir.
Kilometre, uygulamaya ve GUI kullanımına bağlı olarak değişecektir.
1GB takas alanı oluşturdum ve kullanıldıkça daha fazla RAM aldım. Gerçekten modern bilgisayarlarda takas gerekmez, RAM çok ucuz.
Sistemi ne için kullanıyorsunuz? Şahsen ben takas kullanmıyorum. Herhangi bir şey belirteci 512 MB veya sadece bir şey kullanıyorsa, yerleşik ancak uzun süre aktif olmadığında işler diske girebilir.
Küçük bir belirteç takas kullanıyorum (genellikle 256 MB, ancak 64 MB bile yaptım) çünkü bir sistemi sıfır takas sistemiyle yapılandırmak özel bir konfigürasyona ihtiyaç duyuyor.
Disk alanı ucuz, ama slooooooooow. Sistem değişmeye başlar başlamaz, performans sıfırdır. Ve RAM artık çok pahalı değil.
İnan bana, biraz daha yavaş bir işlemci al ve daha fazla RAM al. 3.0 GHz yerine 2,8 GHz, en az 2 GB RAM satın almak için size yeterli para tasarrufu sağlar.