Swappiness değerini ex .: 60'dan 0'a yapılandırırsam , o zaman her zaman etkili olması için makineyi değişiklikleri yeniden başlatmam gerekir? İle değişiklik yaparken bile:
sysctl -w vm.swappiness=0
Swappiness değerini ex .: 60'dan 0'a yapılandırırsam , o zaman her zaman etkili olması için makineyi değişiklikleri yeniden başlatmam gerekir? İle değişiklik yaparken bile:
sysctl -w vm.swappiness=0
Yanıtlar:
Verdiğiniz Wikipedia sayfasında her şey iyi açıklanmış.
# Set the swappiness value as root
echo 10 > /proc/sys/vm/swappiness
# Alternatively, run this as a non-root user
# This does the same as the previous command
sudo sysctl -w vm.swappiness=10
# Verify the change
cat /proc/sys/vm/swappiness
10
Bu noktada, sistem takası yeni yapılandırdığınız gibi yönetir, ancak ŞİMDİ yeniden başlatırsanız, değişikliğiniz unutulur ve sistem varsayılan değerle çalışır (60 olduğu varsayılır, yani% 40'da takas etmeye başlayacaktır) RAM işgali).
/etc/sysctl.conf
Değişikliğinizi kalıcı olarak korumak için aşağıdaki satırı eklemeniz gerekir:
vm.swappiness = 10
Umarım şimdi sizin için daha açıktır!
etkili olması için makineyi yeniden başlatmanız mı gerekiyor?
Bunun tersi, aslında - yeniden başlatma, swappiness'i varsayılan değerine sıfırlayacaktır. Yeniden başlatmalarda kalmasını sağlamak için, bir önyükleme komut dosyasına bir yönerge eklemeniz veya wikipedia makalesinde önerilen yöntemi kullanarak şunları eklemeniz gerekir:
vm.swappiness = ??
Kime /etc/sysctl.conf
(veya bir /etc/sysctl.d
dosya), ??
kullanmak istediğiniz değer nerede . Bunu eklemenin o anda herhangi bir değişikliğe neden olmayacağını unutmayın.
Kabul edilen cevap doğrudur, ancak yanlışlıkla diğer ayarların üzerine yazmamanız için ayrı bir "sysctl" yapılandırma dosyası kullanmanız önerilir (bu, genel "sysctl.conf" dosyasının üzerine yazarsanız olabilir).
# echo 'vm.swappiness=10' >/etc/sysctl.d/swappiness.conf
"/Etc/sysctl.conf" genel yapılandırma dosyasını daha önce değiştirmiş olanlar, bu "swappiness" değerini tanımlayan satırları bu dosyadan kaldırmak isteyebilir. Aşağıdaki komutları genel yapılandırma dosyasından kaldırmak için bu komutu kullanabilirsiniz (yorumları tutarak):
# sed -i '/^vm.swappiness=/d' /etc/sysctl.conf
Şimdi, yeni değeri uygulamak sysctl
için şunu kullanın:
# sysctl -p /etc/sysctl.d/swappiness.conf
Veya swappiness dahil tüm ayarları uygulayın:
# sysctl -p /etc/sysctl.d/*
Doğrulayın:
# sysctl vm.swappiness
vm.swappiness = 10
Bir CentOS makinesinde , vm.swappiness
ayarlandığını
buldum /usr/lib/tuned/virtual-guest/tuned.conf
.
Nerede belirleyin varsayılan ayarlanırken bakarak aracılığıyla tuned
yapılandırma dosyaları :
sudo grep -R swap /usr/lib/tuned | grep swappiness
Varsayılanı güncelledikten sonra, mevcut swappiness yeniden başlatmadan ayarlanabilir :
sudo sysctl vm.swappiness=10
tarafından test edilmiştir:
cat /proc/sys/vm/swappiness
Kullanıcı sysctl
tarafından kuralla yapılan değişiklikler 60-
, dosya adının olması gereken önek içeren dosyalara gider /etc/sysctl.d/60-swappiness.conf
. service procps start
Yapılandırma değerlerini tekrar okumaya zorlamak için kök olarak yürütün (yeniden başlatma gerekmez).
-w
Anahtarın değişikliği yazması ilginç . Bunu yazdıktan sonra, sysctl.conf dosyasına varsayılan satır eklemenin gerekli olmayacağı düşünülebilir.