it-swarm-tr.com

2-4GB sistemde ne kadar SWAP alanı var?

2-4 GB RAM ile yeni bir Linux makinesinde (Debian) takasımı ne boyutta yapacağım konusunda nasıl karar vermeliyim? Gerçekten takas alanına ihtiyacım var mı?

53
C. Ross

Bir makinede ne kadar takas kullanılacağını anlamanın birçok yolu vardır. Yaygın öneriler = RAM) tabanlı formüller kullanır. miktarı RAM (yani 1GB RAM olan bir kutu 2 x RAM takas (2GB)) kullanabilirken, 16GB ram içeren kutuda .5 x RAM takas (8GB) kullanılabilir.

Dikkate alınması gereken başka bir şey, kutunun ne için kullanılacağıdır. Kutuda çok sayıda eşzamanlı olarak çalışan işleminiz olacak, ancak önemli bir kısmı belirli bir süre boşta kalacaksa, ekstra takas eklemek mantıklı olacaktır. Az sayıda kritik süreç yürütüyorsanız, ekstra 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 çalıştırıyorsanız, ekstra takas eklemek mantıklıdır.

Takas eklemeniz gerekip gerekmediğine gelince, evet. Gerçekten ne yaptığınızı bilmiyorsanız ve bunun için gerçekten iyi bir nedeniniz olmadığı sürece her zaman takas alanı eklemelisiniz.

Linux çekirdeğinin çalışma şekli, takas yalnızca tüm fiziksel belleği tükettiğinizde kullanılmaz. Linux çekirdeği etkin olmayan (uyku) uygulamaları alır ve bir süre sonra uygulamayı gerçek bellekten değiştirmeye taşır. Sonuç olarak, bu uygulamaya ihtiyaç duyduğunuzda, uygulamanın belleği takastan RAM'e geri okunurken anlık bir gecikme (genellikle sadece bir veya iki saniye) olur. Ve bu genellikle iyi bir şeydir.

Bu, etkin uygulamalarınızın ek RAM'e erişmesini sağlayan etkin olmayan uygulamaları "uyku" moduna almanıza olanak tanır. Ayrıca, Linux disk önbelleği olarak bir makinede kullanılabilir (ayrılmamış) RAM) disk önbelleği olarak kullanır, bu da çoğu (yavaş) disk etkinliğini daha hızlı ve daha duyarlı hale getirir. genel olarak daha hızlı.

Son olarak, yüzleşelim, disk alanı ucuz. Gerçekten ucuz. Takas için (nispeten) küçük bir alanı kaydırmamak için gerçekten iyi bir neden yoktur. Bir makinede 2GB - 4GB = RAM) ile çalışsaydım, takas alanımı muhtemelen en az RAM'e eşit olacak şekilde ayarlardım. 2GB RAM'den daha az olsaydı, o zaman Hala en az 2GB takasla devam ederdim.

GÜNCELLEME: Bahsedilen mükemmel bir yorum olarak (ve eklemeyi unuttum), 'hazırda bekletme' moduna koymak isteyebileceğiniz bir dizüstü bilgisayar veya masaüstü çalıştırıyorsanız (Diski Askıya Al), o zaman her zaman en az belleğiniz kadar takas istersiniz. Takas alanı RAM 'içeriğini' uyurken ') saklamak için kullanılacaktır.

54

Red Hat önerir Çok sayıda ram bulunan sunucular için aşağıdaki formül:

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.

17
PEra

Geç cevap, ve bu seçilen cevapta neredeyse kapsanmış olduğunu düşünüyorum, ancak @ssapkota burada (aşağıda kopyala/yapıştırılan) tarafından sağlanan cevapta iyi ve kolay sindirilebilir bilgiler var.

İşte RedHat'tan çok iyi bir öneri: Önerilen Sistem Değiştirme Alanı

Aynı bağlantıdan bir alıntı:

Geçmiş yıllarda, önerilen takas alanı miktarı, sistemdeki RAM) miktarı ile doğrusal olarak arttı. Ancak modern sistemlerde bellek miktarı yüzlerce gigabayta yükseldiğinden, artık 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, ancak takas alanının genellikle yükleme zamanında belirlendiği ve bir sistemin bellek iş yükünü önceden belirlemek zorsa , aşağıdaki tabloyu kullanarak sistem takasını belirlemenizi ö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 
12
ubiquibacon

Biraz onunla ne yaptığınıza bağlı. Uygun iş yüküyle, ister 16MB ister 16384MB RAM'iniz olsun, takas alanına ihtiyacınız yoktur; Gerçekten de çoğu gömülü Linux cihazı hiç olmadan çalışır (neyle takas ederler?)

RAM fiyatlar göz önüne alındığında, muhtemelen aktif hesaplama için takas kullanmayacaksınız.

  1. Masaüstü bilgisayarlarda, diske askıya almak için takas alanı kullanılır. Bu takas alanının, bellek içeriğinin ne kadar iyi sıkıştırıldığına bağlı olarak yaklaşık 1 × RAM olması gerekir.
  2. Disk önbelleğine daha fazla yer açmak için etkin olmayan görevlerin RAM) öğesinden kaldırılmasına izin verme
  3. Aynı, ancak aktif işlemlerin yığın/yığın yerine kullanmasına izin vermek için

(2) ve (3) büyük ölçüde iş yüküne bağlıdır. Masaüstü bilgisayarımda, diğer masaüstü bilgisayarlarda çalışan vims, xterms vb. Bırakmaktan 4GB + (2) üzerinde rahatlıkla kullanabilirim.

Çalıştığım sunucuların çoğunda, takas edilen hiçbir şey yok ve 1-2 GB takas (RAM miktarı ne olursa olsun) iyi görünüyor.

8
derobert

Hangi hizmetleri ve uygulamaları çalıştırmayı planladığınıza bağlıdır. free -m ile bellek kullanımınızı izleyebilir ve takas bölümünüzü zaman içinde buna göre ayarlayabilirsiniz.

İşte konuyla ilgili ilginç bir tartışma . Şahsen (ve bu tartışmayı okuduktan sonra) takas için hala yaklaşık 1 GB bırakardım.

4
Ivan

Takas alanı, aksi takdirde derhal belleğiniz biterse "dolgu" görevi görebilir.

Bir işlem tüm kullanılabilir RAM ve daha sonra bazı makine çok yavaş çalıştığında, ancak genellikle kurtarma yapabiliyorsanız, hangi işlemin soruna neden olduğunu görmek daha kolay olacaktır. .

2
starblue

Doğrudan Debian ile konuşamıyorum, ancak 2 GB RAM'in üzerine çıktığınızda orijinal 2xRAM denkleminin, genellikle 1xRAM'a kadar değiştiğini biliyorum. Bence 16 GB RAM öneri tekrar .75xRAM düşürür.

Tabii ki, bunu Solaris için doğru buldum ve aslında Oracle kurulumları için kullanılan metrik, bu yüzden orada çalışacağınız uygulamalara bağlı olarak YMMV.

2
Milner

Her zaman RAM kadar takas yaparım (en azından). Makineyi bir gün hazırda bekletmek istediğimde. Daha azıyla çalışabilir, ancak çalışamaz.

HDD alanı bu gün ucuz, bu yüzden takas alanı vermekte tereddüt etmiyorum.

2
Martin C.

Yıllar boyunca, Windows makineleri için RAM'iniz kadar takasınız olduğu kuralını izledim ... Novell'de daha fazla yazıcımız olsaydı daha yüksek takas ayarlayacağız ... Linux için benim için kural ve uygulama 1GB oldu Her 2 GB için takas RAM var. Ve diskin önüne daha hızlı erişilmesi için yerleştirirsiniz.

  • Bir posta/spam ağ geçidi ise RAM ile takasın iki katını kullanırım
  • * Sunucu ise takas kullanmıyorum
  • bir LAMP sunucusu ise 1/2 kuralı geçerlidir.

  • Kilometre uygulaması ve GUI kullanımına bağlı olarak değişecektir.

1
Thomas Denton

Ben sadece küçük bir takas swap (genellikle 256 MB, ama ben bile 64 MB) yaptım çünkü sıfır takas ile bir sistem yapılandırmak için özel yapılandırma gerekir.

Disk alanı ucuz, ama slooooooooow. Sistem değişmeye başlar başlamaz performans sıfır olur. Ve RAM artık çok pahalı değil.

Güven bana, biraz daha yavaş bir işlemci al ve daha fazla RAM al. 3,0 GHz yerine 2,8 GHz, en azından 2 GB'lık bir RAM satın almak için yeterli paradan tasarruf etmenizi sağlar.

0
Maneesh Kasera

Ben 1GB takas oluşturmak ve daha fazla satın RAM ikinci saniye kullanılır. Gerçekten modern bilgisayarlarda takas gerekmez, RAM çok ucuz.

0
Adam Gibbins

Sistemi ne için kullanıyorsunuz? Şahsen ben takas kullanmıyorum. Bir şey 512MB veya başka bir şey kullanırsa, ikamet ederse uzun süre hareketsiz kaldığında disklere konabilir.

0
Mike McQuaid