Mengapa swappiness = 10 direkomendasikan?

9

Nilai swappiness=10direkomendasikan di SwapFaq Ubuntu .

Mengapa nilai 10 direkomendasikan daripada swappiness=0?

Apakah ada pro 10 atau kontra nol?

Eric
sumber
3
@Mitch Pertanyaan itu adalah tentang mengapa orang merekomendasikan untuk mengurangi swappiness. Pertanyaan ini berbeda; itu bertanya mengapa swappiness harus di atas nol sama sekali . Jadi ini bukan menanyakan mengapa orang merekomendasikannya sedemikian rendahnya ; ia bertanya mengapa rekomendasinya setinggi itu. Karena jawaban di sana (cukup rasional) tidak setuju dengan argumen untuk mengurangi swappiness sejauh ini, ada beberapa tumpang tindih dengan jawaban saya di sini, tetapi pada akhirnya saya pikir ini adalah pertanyaan yang terpisah (meskipun terkait) dengan jawaban yang terpisah.
Eliah Kagan
@EliahKagan touché :)
Mitch

Jawaban:

9

swappiness=0akan menunggu untuk bertukar sampai benar-benar diperlukan. Menetapkan nilai moderat seperti swappiness=10akan menyebabkan halaman ditukar dari memori ke disk agak lebih mudah. Ini dapat mencegah perlunya bertukar banyak sekaligus; kebutuhan semacam itu dapat menyebabkan penundaan yang menjengkelkan.

Selain itu, seringkali suatu proses berjalan tetapi tidak melakukan apa-apa untuk waktu yang lama. Banyak daemon (layanan latar belakang) berperilaku seperti ini. Anda mungkin memiliki aplikasi latar belakang yang tidak digunakan untuk sementara waktu. Dan hari ini beberapa aplikasi diimplementasikan sebagai beberapa proses, seperti Chromium dan Google Chrome, di mana setiap tab memiliki proses terpisah di belakangnya (bukan utas terpisah, tetapi proses terpisah ). Pengaturan swappinesske nilai seperti 10 membuatnya jadi tugas-tugas latar belakang yang tidak sedang digunakan aktif ditukar ke memori bahkan ketika mereka bisa tetap dijejalkan dalam RAM. Maka ketika proses yang lebih aktif digunakan perlu mengalokasikan lebih banyak RAM, itu dapat melakukannya lebih cepat.

Sebagai kesimpulan, memungkinkan proses untuk ditukar dari RAM ke disk lebih awal dari yang diperlukan sering memberikan manfaat kinerja dan latensi yang lebih rendah ketika suatu proses mengalokasikan memori. Ini dengan mengorbankan waktu yang diperlukan untuk menukar proses kembali. Tetapi ini biasanya dilakukan jauh lebih jarang daripada proses dalam penggunaan aktif mengalokasikan dan melepaskan memori, sehingga trade-off sering bermanfaat.

Eliah Kagan
sumber
Anda juga harus memperhitungkan buffer drive Anda. Jika Anda memiliki SSD dengan buffer 512 MB dan 4 GB RAM. Anda mungkin dapat membiarkan ini pada 10 tanpa khawatir tentang masalah kinerja karena program apa pun akan dapat hampir secara instan mengalokasikan sekitar 1 GB RAM. Saya memiliki SSD dengan buffer 256 MB dan 8 GB RAM, jadi saya juga membiarkannya pada 10 karena juga menjamin alokasi cepat sekitar 1 GB yang jarang saya butuhkan.
stackount