14.04 veya daha yüksek bir sürümde 1GB ila 8 TB RAM için ne kadar takas almalıyım?


14

64 bit 14.04'ü 1'den belki 128GB'a kadar RAM ve daha sonra daha fazla RAM ile yeni bir makineye kuracağım. Takas bölümüne ne kadar alan ayırmalıyım?

Ve özellikle: NEDEN bu rakamlar için bu öneriler?

( Buradaki ve buradaki mevcut cevapların hiçbiri nedenini açıklamıyor ve 1GB veya RAM ve daha fazlasına bakarsak biraz tarihli)


6
16 GB RAM'imin olası kopyası . 32 GB değiştirmeye ihtiyacım var mı? 2017'den yanıtlar var (veya 2017'de güncellendi), bu yüzden şu anda bundan daha yeni öneriler barındırıyor.
Melebius

1
@Melebius: Kabul etmiyorum: Bu soru daha yeni olmasına rağmen, çoğaltmaya çalıştığınız sorudan daha genel. Bu soru-cevap eskisini kapsar, ancak bunun tersi doğru değildir! ;-)
Fabby

1
@Fabby Bu durumda, diğeri bunun bir kopyası olarak işaretlenmemelidir?
Melebius

1
@Melebius Her iki soru da gözden geçirenler tarafından farklı durumlarda diğer soruların yinelenen soruları olarak kullanılabiliyorsa, her iki soru da bu farklı durumları ele almak için açık tutulabilir, çünkü her iki soru da oldukça yükseltilmiş cevaplara sahiptir.
karel

2
@Melebius Bu konuda meta olarak zaten bir tartışma yaptık ve topluluk her birinin olduğu gibi durmasına karar verdi.
Fabby

Yanıtlar:


30

Kısa cevap:

Takas dosyanızı şu şekilde ayarlayın:

  • round(sqrt(RAM))Eğer varsa kullanmayın hibernasyonu
  • RAM+round(sqrt(RAM))eğer kullanımı yapmak hibernasyonu

swappinessMasaüstünüzde 10'a ayarlayın , ancak sunucuda değil!

Uzun cevap:

Geçmişte:

Son 25 yıldır kullanılan temel kural minimum 1xRAM ve maksimum 2xRAM olmuştur, bu yüzden her zaman alıntı yaptığınız şey budur.

Bu asgari, ben gençken taş çağında geri döndü ve dinozorlar hala Dünya'da dolaştı ve RAM çok pahalı olduğu için ve her şeyi başarabilmek için bu takas alanına kesinlikle ihtiyacınız vardı.

Azami geri dönüşler nedeniyle o zaman maksimum ayarlandı: HDD erişimi 1000'den daha yavaş RAM'den daha yavaş bir faktör olduğu için çok fazla bellek değiştirmek zorunda kalmak çok yavaş: acil bir durumda iyi, ama günlük kullanım için gerçekten iyi değil! O zaman, takas alanınız bittiğinde, daha fazla RAM ekleme zamanı gelmişti! (bugün hala geçerli).

Günümüzde:

  1. Hazırda bekletme modunu kullanmazsanız ve belleğiniz 1GBaytı aşarsa, yeni başparmak kuralı açıkça RAM boyutunuzun GB ve karekök olduğu round(sqrt(RAM))yerdir . :-)RAMsqrt

  2. Hazırda bekletme modunu kullanıyorsanız, önceden takılmış RAM + miktarının tamamını diske değiştirebilmeniz gerekir, böylece formül şöyle olur: RAM+round(sqrt(RAM))

  3. Azalan getiri kuralı bugün maksimumda geçerlidir, ancak gerçek kullanımınızı test etmedikçe, 2xRAM kullanmak sadece bir disk alanı kaybıdır , bu nedenle diğer yöntemleri kullanarak takas alanınız bitmediği sürece maksimum kullanmayın .

Bunların tümü size aşağıdaki tabloyu verir: (takas alanını gösteren son 3 sütun)

    RAM   No hibernation    With Hibernation    Maximum
    1GB              1GB                 2GB        2GB
    2GB              1GB                 3GB        4GB
    3GB              2GB                 5GB        6GB
    4GB              2GB                 6GB        8GB
    5GB              2GB                 7GB       10GB
    6GB              2GB                 8GB       12GB
    8GB              3GB                11GB       16GB
   12GB              3GB                15GB       24GB
   16GB              4GB                20GB       32GB
   24GB              5GB                29GB       48GB
   32GB              6GB                38GB       64GB
   64GB              8GB                72GB      128GB
  128GB             11GB               139GB      256GB
  256GB             16GB               272GB      512GB
  512GB             23GB               535GB        1TB
    1TB             32GB              1056GB        2TB
    2TB             46GB              2094GB        4TB
    4TB             64GB              4160GB        8TB
    8TB             91GB              8283GB       16TB

Yukarıdaki sadece basit bir kuraldır; yerçekimi yasası değil!
Sen olabilir eğer belirli bir kullanım durumu farklıdır (yerçekimi kanunu aksine) bu kuralı kırmak!

Pro ipucu: Kafaların diskin içinde daha az hareket etmesi gerektiğinden SWAP'ı her zaman bir HDD'nin başında ayırın.
Evet: SSD'lerde, hareketli kafalar yerine kuantum tünelleme kullandıkları için takas alanını nerede bulduğunuz artık önemli değil ve modern SSD'ler kuantum bozulmasını önlemek için tüm bellek hücrelerini (ayrılmamış alanı bile) kullanıyor.

Takas kullanımınızın "genel" kuraldan farklı olup olmadığı nasıl test edilir:

Sadece çalıştırın:

for szFile in /proc/*/status ; do 
  awk '/VmSwap|Name/{printf $2 "\t" $3}END{ print "" }' $szFile 
done | sort --key 2 --numeric --reverse | more

değiştirilen tüm çalışan programların bir listesini verir (üstte en fazla takas alanını kullanan programla)

Birkaç KB'den daha fazlasını kullanıyorsanız: minimumdan daha fazla yeniden boyutlandırın, aksi takdirde rahatsız etmeyin ...

Bir sunucu kullanıyorsanız, şimdi okumayı bırakın: hazırsınız!


Bir masaüstü / dizüstü bilgisayar istemcisindeyseniz (sunucu değil), GUI'nizin mümkün olduğunca duyarlı olmasını ve yalnızca gerçekten ihtiyacınız olduğunda değişmesini istersiniz . Ubuntu, sunucu kullanımı için erken takas etmek için optimize edildi, ancak istemcinizde bu büyük 250 Mega piksel ham resmi gimphızlı olacak şekilde düzenlemek istiyorsunuz , bu nedenle swappiness10'a ayarlamak çekirdeğin çok erken değiştirilmesini önlerken, t Çok geç takas:

Bir sysctl.confdosyanız varsa,

sudo nano /etc/sysctl.conf

VEYA

Bir sysctl.ddizininiz var ancak sysctl.confdosyanız yoksa yeni bir dosya oluşturun:

sudo nano /etc/sysctl.d/35_swap.conf 

ve her iki durumda da şunu ekleyin:

# change "swappiness" from default 60 to 10 
# (theoretically only swap when RAM usage reaches around 80 or 90 percent)
vm.swappiness = 10

dosyanın sonuna, dosyayı kaydedin ( nano'da Ctrl+ XY+ Enter) ve aşağıdakileri yürütün:

sysctl --system

Parametreyi yeniden yüklemek veya Window $ yaklaşımını almak ve yeniden başlatmak için ... :-)


1
Teşekkürler. "Azalan getiri" ile ne demek istiyorsun? Hem RAM hem de takas tamamen kullanılıyorsa, takas 2 * RAM boyutu olsa bile hazırda bekletmek mümkün değildir, değil mi? (Hazırda bekletme modunun RAM + takas olması için takas boyutuna ihtiyacı olacağı için, bu imkansız mıdır?)
Tim

Evet, ama henüz bu olmadı ... (ve ben yaşlıyım! Bu nedenle 2 * RAM: Tüm RAM takas edildiğinde, hala hazırda
bekletebilirsiniz

2
"Azalan getiri", HDD erişiminin RAM'den sonra 1000 daha yavaş bir faktör olduğu anlamına gelir, bu nedenle RAM'inizin iki katını çıkarmanız gerekiyorsa, tamamlanmadan önce yaşlılıktan ölmüş olursunuz ... zaten takas ...
Fabby

1
@Fabby Orijinal soruya tekrar CV inceleme zamanı geldi: askubuntu.com/review/close/889454 . Sorunun altındaki Yufenyuy Veyeh Dider'in yorumuna bakın.
karel

1
@mrkskwsnck: Aynı yazar tarafından ... ;-)
Fabby

6

Takas için gereklilik

Değiştirme 3 nedenden dolayı yararlıdır:

  1. Karmaşayı RAM'den kaldırma. Gönderen makalesinde kernel.org tarih:

    "İşlemin erken dönemlerinde başvurulan önemli sayıda sayfa, yalnızca başlatma için kullanılabilir ve daha sonra bir daha asla kullanılamaz. Bu sayfaları değiştirmek ve yerleşik ve kullanılmamış bırakmaktan daha fazla disk arabelleği oluşturmak daha iyidir"

    Başka bir deyişle, RAM'de depolanan veriler yalnızca bir işlem başlatıldığında (başlatma işlemi gibi) yararlı olabilir ve daha sonra, daha iyi amaçlar için kullanılabilecek dağınık alandaki RAM'de bulunur.

  2. İşlemlerin kullanabileceği bellek miktarını genişletir. Bu iyi anlaşılmıştır. Sistemin yetersizliği nedeniyle belleğinin ve çökmesinin bitmesini istemezsiniz. Bu nedenle, koruyucu bir özellik olarak görev yapan takas mevcut olmalıdır .

  3. Hazırda Bekletme: Bir bilgisayar hazırda bekletme modundayken, RAM içeriği diske gider.

Takas miktarı

Takas amacını bilmek ve makinenizin RAM miktarına bağlı olarak, amacınıza uygun bir takas boyutu seçebilirsiniz. Özel yönergeler yoktur, yalnızca takas boyutunuzu sisteminize uyacak şekilde uyarlamak için kullanabileceğiniz temel kurallar vardır .

Örneğin, linux.com şunları önerir:

Temel kural şu ​​şekildedir: 1) bir masaüstü sistemi için, çok sayıda uygulamayı çalıştırmanıza izin vereceğinden (birçoğu boşta ve kolayca değiştirilebilir), aktif uygulamalar için daha fazla RAM; 2) bir sunucu için, gerektiğinde takas için biraz esnekliğe sahip olmak için daha az miktarda takas (fiziksel belleğin yarısını kullanın) bulundurun, ancak kullanılan takas alanı miktarını izleyin ve gerekirse RAM'inizi yükseltin; 3) eski masaüstü makineleri için (sadece 128 MB ile), 1 GB'a kadar bile yedekleyebileceğiniz kadar çok takas alanı kullanın.

Kişisel deneyimlerden, yapacağım şey:

Hazırda bekletme modu gerektirmeyen 1 - 2 GB kapasiteli bir makine düşünüldüğünde ve 1GB ile 2GB arası takas alanınız olabilir. 14.04 Ubuntu'lu bilgisayarımda 1GB RAM ve 2GB takas bulunuyor. Takas miktarı asla 800MB sınırını geçmez ve bilgisayarımı yalnızca web'de gezinmek ve komut dosyası oluşturmak için kullanırım.

2 GB'ın üzerinde olan ve hazırda bekletme moduna geçmeniz gerekmeyen bir bilgisayarla, 512 MB ile 1 GB arasında değiş tokuş yapabilirsiniz. Ben 15.04 ile şimdiye kadar hazırda bekleme ve 512 MB bir takas dosyası ( bölüm değil ) olan bir dizüstü bilgisayar var . RAM'in kendisi 6 GB, ancak 2-3 GB'ı geçmiyor. Tekrar: gündelik kullanım.

Hazırda beklemeniz gerektiğinde Cosmoscalibur ve Fabby zaten takas konusunda konuştu, bu yüzden buna çok fazla girmeyeceğim. Benim düşünceme göre:

Hazırda bekletme yapmayı planlıyorsanız, RAM içeriğinin değiştirilmesi gerekir, bu nedenle en azından RAM'inizle aynı boyuta ihtiyacınız vardır .


:-) Sadece bir şey gönderdiğini fark ettim. Düzenlendi ve kaldırıldı! (Benim istedikten sonra düzenlememden sonra iyi bir cevap
!:
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.