Anda bisa melakukan apa yang disarankan nik dan menggunakan swapoff . Namun, ada cara lain yang lebih elegan untuk mengubah "swappiness", atau seberapa agresif kernel menukar program ke disk dalam sistem yang menjalankan kernel 2.6.
Telah ada perdebatan sengit tentang mailing list kernel linux tentang kebijakan yang harus diikuti kernel mengenai perilaku swapping . Hasilnya adalah kita sekarang memiliki patch di kernel 2.6 yang memungkinkan kita mengubah perilaku ini sebagian besar.
Perhatikan bahwa Anda memerlukan hak akses root untuk melakukan ini, karena Anda akan menjalankan perintah swapoff / swapon.
Nilai "swappiness" saat ini dapat diperiksa dalam file / proc / sys / vm / swappiness , atau dengan menjalankan perintah sysctl ini :
sudo sysctl vm.swappiness
Nilai "swappiness" dapat berkisar dari 0 (tanpa swapping) hingga 100 (bertukar ke disk sebanyak mungkin). Ubuntu dikirimkan dengan swappiness default yang diatur ke 60.
Untuk mengubah ini pada suatu sesi, panggil sysctl lagi dan berikan nilai swappiness untuk digunakan:
sudo sysctl vm.swappiness=30
Selain gratis , Anda tentu saja dapat memantau efek dari melakukan ini melalui utilitas htop atau iotop yang sangat baik .
Jika Anda menyukai apa yang Anda lihat, dan ingin mempertahankan nilai ini di seluruh reboot, cukup tempatkan "vm.swappiness = 30" di file /etc/sysctl.conf .
$ sudo sysctl vm.swappiness
vm.swappiness = 30
$ sudo sysctl vm.swappiness=40
vm.swappiness = 40
$ sudo sysctl vm.swappiness
vm.swappiness = 40
$ sudo tail /etc/sysctl.conf
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#
# The contents of /proc/<pid>/maps and smaps files are only visible to
# readers that are allowed to ptrace() the process
# kernel.maps_protect = 1
vm.swappiness=30
Anda dapat bermain dengan nilai yang berbeda sampai Anda menemukan nilai yang memerlukan tingkat pertukaran yang dapat diterima pada mesin Anda.
Ingatlah bahwa barang-barang dalam swap ditempatkan di sana pada waktu yang lebih sibuk daripada sekarang.
Anda mungkin menemukan bahwa data juga dalam RAM - telah dimuat kembali untuk digunakan tetapi tidak dihapus dari swap. Kernel melakukan ini untuk menghemat waktu dalam periode sibuk berikutnya - jika data sudah disalin di sana hanya dapat melepaskan RAM yang digunakan daripada harus melakukan menulis disk terlebih dahulu. Jadi kecuali Anda tahu mesin tidak akan perlu bertukar lagi dalam waktu dekat, memaksa pembebasan ruang swap mungkin tidak menghasilkan apa-apa kecuali memperlambatnya sedikit lebih banyak saat bertukar diperlukan.
Ini dikelola berdasarkan delete-on-write, jadi jika salinan dalam RAM diperbarui blok dalam swap akan dirilis.
Jika ruang swap diperlukan untuk sesuatu yang lain, yang tidak akan tersedia saat ini karena Anda punya banyak yang gratis, tentu saja akan dirilis untuk penggunaan itu.
Anda tidak dapat melihat berapa banyak data dalam kondisi ini (berada di halaman berbasis disk di area swap, dan dalam RAM) di output dari
free
. Anda dapat melihatnya melalui/proc
sistem file khusus. Lihatlah outputcat /proc/meminfo
untukSwapCached
hitungan.Dua alasan lain mengapa swap digunakan saat ada memori cadangan
free
output Anda yang mungkin tidak terjadi di sini karena Anda memiliki sepotong RAM yang benar-benar tidak terisi serta yang digunakan oleh IO cache / buffer.sumber
Ingat itu
free
hanyalah snapshot dari penggunaan memori. Hasil yang Anda lihat mungkin menyiratkan bahwa, di beberapa titik di masa lalu, sistem kekurangan RAM sehingga menukar bahan RAM-resident. Sejak itu, RAM telah menjadi bebas tetapi materi tentang swap belum diperlukan sehingga masih diadakan pada swap daripada hanya mengacaukan RAM. Jika itu masalahnya, mematikan swap akan menjadi ide yang buruk. Apakah ada proses yang dapat menuntut jumlah RAM yang begitu besar sejak pemuatan terakhir?Selain itu, Anda mungkin ingin memeriksa bahwa Anda tidak memiliki batasan pada ukuran penduduk maksimum yang ditetapkan melalui ulimit (biasanya di / etc / profile tetapi mungkin bervariasi dengan distribusi dan dapat disetel per proses (misalnya dalam skrip peluncuran) ).
Terakhir, pada Microsoft Windows ada laporan masalah khusus dengan Firefox yang ditukar ke disk, misalnya saat diperkecil (mis http://joeabiraad.com/mozilla-firefox/control-your-firefox-ram-usage/113 ). Saya belum pernah mendengar tentang itu pada sistem GNU / Linux tetapi mungkin perlu ditelusuri.
sumber