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
swappiness
Masaü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:
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 . :-)RAM
sqrt
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))
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 gimp
hızlı olacak şekilde düzenlemek istiyorsunuz , bu nedenle swappiness
10'a ayarlamak çekirdeğin çok erken değiştirilmesini önlerken, t Çok geç takas:
Bir sysctl.conf
dosyanız varsa,
sudo nano /etc/sysctl.conf
VEYA
Bir sysctl.d
dizininiz var ancak sysctl.conf
dosyanı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 ... :-)