Jika saya mengonfigurasi nilai swappiness ke yang lain, dari ex .: 60 hingga 0, maka saya selalu perlu me-reboot mesin agar perubahan diterapkan? Bahkan saat memodifikasi dengan:
sysctl -w vm.swappiness=0
Jika saya mengonfigurasi nilai swappiness ke yang lain, dari ex .: 60 hingga 0, maka saya selalu perlu me-reboot mesin agar perubahan diterapkan? Bahkan saat memodifikasi dengan:
sysctl -w vm.swappiness=0
Jawaban:
Semuanya dijelaskan dengan baik di halaman Wikipedia yang Anda berikan.
# 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
Pada titik ini, sistem akan mengelola swap seperti yang baru saja Anda konfigurasikan, TETAPI jika Anda mem-boot ulang SEKARANG, perubahan Anda akan dilupakan dan sistem akan bekerja dengan nilai default (dengan asumsi 60, artinya daripada mulai menukar dengan 40% pekerjaan RAM).
Anda harus menambahkan baris di bawah ini /etc/sysctl.conf
untuk menjaga perubahan Anda secara permanen:
vm.swappiness = 10
Semoga ini lebih jelas untuk Anda sekarang!
perlu me-reboot mesin agar perubahan diterapkan?
Sebaliknya, pada kenyataannya - reboot akan mengatur ulang swappiness ke nilai default. Untuk membuatnya bertahan di seluruh reboot, Anda perlu memasukkan arahan dalam skrip boot atau menggunakan metode yang direkomendasikan dalam artikel wikipedia dengan menambahkan:
vm.swappiness = ??
Ke /etc/sysctl.conf
(atau /etc/sysctl.d
file), di mana ??
nilai yang ingin Anda gunakan. Perhatikan bahwa hanya menambahkan ini tidak akan menyebabkan perubahan apa pun pada saat itu.
Jawaban yang diterima benar, tetapi disarankan untuk menggunakan file konfigurasi "sysctl" yang terpisah sehingga Anda tidak secara tidak sengaja menimpa pengaturan lain (yang mungkin terjadi jika Anda menimpa global "sysctl.conf").
# echo 'vm.swappiness=10' >/etc/sysctl.d/swappiness.conf
Mereka yang telah memodifikasi file konfigurasi global "/etc/sysctl.conf" mungkin ingin menghapus baris yang mendefinisikan nilai "swappiness" ini dari file itu. Anda bisa menggunakan perintah ini untuk menghapus baris-baris ini dari file konfigurasi global (menyimpan komentar):
# sed -i '/^vm.swappiness=/d' /etc/sysctl.conf
Sekarang, untuk menerapkan nilai baru, katakan sysctl
untuk menggunakannya:
# sysctl -p /etc/sysctl.d/swappiness.conf
Atau terapkan semua pengaturan, termasuk swappiness:
# sysctl -p /etc/sysctl.d/*
Verifikasi itu:
# sysctl vm.swappiness
vm.swappiness = 10
Saya menemukan bahwa pada mesin CentOS , vm.swappiness
sedang diatur dalam
/usr/lib/tuned/virtual-guest/tuned.conf
.
Tentukan di mana default sedang diatur dengan melihat melalui tuned
file konfigurasi :
sudo grep -R swap /usr/lib/tuned | grep swappiness
Setelah memperbarui default, swappiness saat ini masih dapat diatur tanpa me-reboot :
sudo sysctl vm.swappiness=10
dan diuji oleh:
cat /proc/sys/vm/swappiness
Pengguna mengubah sysctl
dengan konvensi pergi ke file dengan awalan 60-
sehingga nama file seharusnya /etc/sysctl.d/60-swappiness.conf
. Jalankan service procps start
sebagai root untuk memaksa membaca ulang nilai konfigurasi (tidak perlu reboot).
-w
switch seharusnya menulis perubahan. Orang akan berpikir bahwa setelah menulis itu, menambahkan baris default di sysctl.conf tidak perlu.