Takas bölümü ne kadar büyük olmalı?


10

Birkaç yıl boyunca, RAM'imin çift alanına sahip bir takas bölümü oluşturmanın iyi bir fikir olduğunu okudum. bugün hala geçerli mi? yoksa artık buna gerek yok mu?

8 GiB RAM ile bir sunucum var ve bir takas bölümü oluşturmam gerekiyor ve 16 GiB'nin çok fazla olup olmadığını merak ediyordum.


Yanıtlar:


11

Büyük sistemlerde, 8GB fiziksel RAM, genellikle 2GB takas sağlıyoruz. Bunlar Oracle veya PostgreSQL çalıştıran yüklü veritabanı sunuculardır. Yıllardır ağır yük altında bile takas vuruşu görmedim. Ağır yük yaklaşık 100 ila 150 kullanıcı, yaklaşık 10.000 SQL okuma yapıyor ve belki de dakikada 2.500 yazma yapıyor.

Aynı zamanda takas seviyesini, takastan vazgeçirmek için ayarlıyoruz ve koşmaya ihtiyacımız olmadığını bildiğimiz gereksiz süreçleri kapatıyoruz. (Özel Linux sürümleri)

Eddie'nin dediği gibi, 1x fiziksel RAM 4GB'ın altındaki her şey için iyi bir kural. Büyük bir Fortune-500 şirketi için özel Linux yapıları yapıyorum ve bunlar tipik olarak yaptığımız şeyler ve son 5 yıl boyunca onlara danıştığım herhangi bir sorun yaşamadık.

Daha büyük sistemlerde: 32GB ve 64GB RAM'e sahip 64bit Linux, bunlar Oracle veritabanı sunucularımızdır ve Eddie'nin yukarıda belirttiği gibi şeyler için genellikle 2GB'lık takas tutarız - takas ayarlarınıza bağlı olarak boşta kalan işlemler değiş tokuşa geçirilir.


5

Zamansız görünen bir soru. SlashDot'taki iyi insanlar bunu bir süre önce tartıştılar. Ne söylemek zorunda olduklarına bakın:

  • Disk alanı modern HDD'lerde sorun değil, 16GB hala modern TB sürücüler için önemsiz bir miktar.
  • Ancak, zayıf bellek yönetimi durumunda önemli takas alanı sorun olabilir:

2 saatlik bir süre içinde 4 GB'lık bir film izlersem, birçok bellek yöneticisi tüm bu verileri önbelleğe almanın iyi bir şey olabileceğine karar verir. Filmin yarısında, diğer tüm çalışan programların bir saattir kullanılmadığını ve 4 GB'lık dosyanın daha fazlasını önbelleğe almak için güvenle değiştirilebileceğini düşünecek. Sonuç, bir film izledikten sonra programlarınızın yarısının değiştirilmesiyle, takas dosyasının her yerinde çöpe atılmış durgun bir sistemle sonuçlanır.

  • Sonunda, doğru karar basketbol sahası formüllerinden değil, bellek gereksinimlerinden gelmelidir:

[Günlük olarak kullanmak istediğiniz programları çalıştırmak için yeterli RAM'e sahipseniz], o zaman takas kullanmak için hiçbir neden yoktur.


3

Cevaba bakın Yüksek bellek sisteminde ne kadar SWAP alanı var? Her ne kadar sorunuz daha genel olsa da, bazı rehberlik için. Görüşler bu konuda büyük farklılıklar gösteriyor, ancak genellikle 1 GiB RAM veya daha fazla olan insanlar tamamen takas olmadan veya takas olarak 1x bellek ile çalışıyor gibi görünüyor.

Takas yapmaya zorlayacak kadar RAM kullanmayı planlamasanız bile, takas olarak en az 1xhafızaya sahip olmanın bir değeri vardır: İşletim sisteminin kullanılması beklenmeyen bazı şeyleri değiştirmesine izin verir bunun yerine örneğin disk veya G / Ç arabellekleri için bu belleği kullanabilir.


3

Sisteminizin hazırda bekletme moduna geçip başarılı bir şekilde devam edebilmesini bekliyorsanız :-), muhtemelen takas bölümü için fiziksel RAM miktarından daha fazla alan ayırmak daha iyidir


3

VPS sağlayıcım, sunucular için takas alanı bile sağlamaz ve benimki de onsuz iyi çalışıyor.

İşyerinde günlük olarak gördüğüm çoğu sunucu aynı zamanda takassızdır.

Düzenle

Ancak - Bir JVM çalıştırıyorsanız, yapmak emin sen var en azından , olur kadar takas alanı olarak şimdiye kadar set -Xmxnedeniyle bir bilinen sorunu JVM ile.

Kısacası, JVM şu anda kullandığından daha fazla belleğe ihtiyaç duyduğunda (ancak yine de vurmadı Xmx):

  • kendini diske takas eder
  • yeni bellek ayırır
  • kendini RAM'e geri okur

Bu, takasın sizden daha az olduğu takdirde Xmxbaşarısız olabileceği anlamına gelir .

Hata raporunu alıntılamak için

Yapılacak en iyi şey, bu hatayla karşılaşan makinelerde takas boyutunu artırmaktır.

JVM'lerle çalışırken onu güvenli bir şekilde oynatmaya ve takasları eşit fiziksel belleğe ayarlamaya çalışıyorum.


2

Modern sabit disk sürücülerinin hızı göz önüne alındığında, büyük değiş tokuşlar sadece daralan bir davettir. Belki SSD'ler bu eğilimi tersine çevirir, ancak bir disk için 300MB / s maksimum aktarım hızı ile 2-4GB arasında geçiş yapmak biraz zaman alacaktır.

Eski günlerde (yani: Linux 1.2, i386, SunOS 4.x), belki 5-15 MB daemon işleminiz olacak ve 4-32MB RAM'den herhangi bir yerde çalışacaksınız. O hiçbir gerçek performans isabet olmadan değiştirilebilir ... Ve daha iyi olurdu çünkü kullanıcı programları 2-3MB kadar az RAM mevcut olabilir. Takas etmek çok mantıklıydı.

Şimdi benim çevremde, çoğu sunucuda tek bellek yoğun iş yükleri var ve RAM oldukça doğru bir şekilde tahmin edilebilir ... Takas acil durumlar, tükenme süreçleri vb.

İstisna dizüstü bilgisayarlar ve rahat uyuyabilirsiniz iş istasyonları içindir. Birçok işletim sistemi, takma görüntüsünü kaydetmek için takas alanını kullanır ve bu durumlarda takas fiziksel bellekten daha büyük olmalıdır. Suspend2 / tuxonice içeren Linux'ta, diske askıya almayı desteklemek için takas boyutunda 2xRAM olmalıdır.


Eski günlerde System V 3.2 ve daha önceki sürümler tam olarak RAM boyutunda takas kullandılar. BSD kadar sanal bir bellek sistemi olmadığı için daha azı kırıldı ve daha fazla israf edildi.
kmarsh

2

Bugünlerde 32 GB veya 64 GB sunucu çalıştırıyorsanız, varsayılan olarak 4 GB takas güvenli bir tutardır. Bundan daha büyük olan her şey, bu kadar fiziksel RAM ile aşırı derecede doludur.


1

İdeal olarak takas kullanmayacaksınız ve 2x RAM şey gerçekten geçmiş yıllardan kalma bir şey.

Bununla ilgili endişeleriniz varsa, şöyle bir şey yaparım:

Max Memory Requirement - Physical Ram = Swap

Bence 16GB kişisel olarak çok büyük geliyor.


1

İstediğiniz kadar eski günlerde, modern * nix çekirdeklerinde bellek tüketimi geçmişte kaldı. Eski deyiş "hafızanızın 2 katı" idi. 2GB veya makinenin bu gün koçta sahip olduğu alan ve yaş arasında olmanız gereken yere yakın olacak.


1

Takas, çekirdek panikinden sonra dökümleri depolamak için de kullanılır. Bu dökümleri analiz etmekle ilgileniyorsanız ve başka bir döküm hedefi belirtmediyseniz, takasınız en az RAM'iniz kadar büyük olmalıdır.


0

Ne kadar takas gerektiğine dair tek bir algoritma yoktur. Uygulamada, sisteminizi desteklemeyi planladığınız en büyük yükün altına koymanız ve gerçekte ne kadar kaynak kullandığını öğrenmeniz gerekir. Takas dosyanızı buna göre ayarlayın.

Fiziksel RAM için, sisteminizi ele almayı beklediğiniz gerçek "seyir" yükünün altına koymalı ve buna göre satın almalısınız. Düşük gecikmeli sistemler için, seyir yükünüzün içinde hiç bir şey değiştirmemelisiniz (bu, takas veya kullanımda olmakla aynı değildir). , ancak genel olarak mümkün olduğunca az değişiklik yapmanız gerekir.

Tabii ki, daha düşük bir fiyat için performansı takas edebilirsiniz.

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.