GNU/Linux >> Belajar Linux >  >> Linux

Linux – Nilai Vm.swappiness yang Tepat Saat Menggunakan Zram?

Saya menggunakan zram di komputer saya sebagai swap yang didukung RAM terkompresi. Ketika sistem perlu menukar sesuatu, menukarnya ke file swap yang didukung zram kurang lebih sama dengan mengompresi data dalam memori untuk mengosongkan ruang. Ini membuat swapping sangat cepat hampir sepanjang waktu, relatif terhadap swap yang didukung disk. Karena itu, saya bertanya-tanya apakah ada beberapa kinerja yang dapat diperoleh dengan mendorong sistem untuk menukar barang yang tidak digunakan secara lebih agresif, karena dapat melakukannya tanpa benar-benar mengenai disk?

Jadi, apakah ada orang yang mengacaukan, katakanlah, menyetel vm.swappiness ke 100 saat menggunakan zram? Apakah ini diinginkan?

sysctl -w vm.swappiness=100

Jawaban yang Diterima:

Jawaban singkat:vm.swappiness=100 adalah nilai yang sesuai untuk zram(Setidaknya pada Debian Stretch dengan Linux 4.9 , saya yakin itu adalah nilai terbaik )

Saya sudah menguji vm.swappiness=100 untuk saya.

Saya pikir Anda dapat melakukan beberapa tes sederhana untuk memastikan nilai mana yang terbaik untuk Anda.

Saya juga membuat program sederhana lain untuk menguji pertanyaan ini.
x
Pada mesin saya vm.swappiness yang sangat rendah nilai (seperti vm.swappiness=1 ) akan menyebabkan masalah respons yang jelas.

Tentang SwapCached di /proc/meminfo :

Pertama, coba vm.page-cluster=0 , ini mungkin dapat mengurangi beberapa SwapCached yang tidak berguna dari swap-in.

SwapCached dapat mempercepat zram sama seperti perangkat swap non-zram

SwapCached dapat digunakan kembali (gratis) bila perlu:

./linux-4.9/mm$ grep -rn delete_from_swap_cache
memory-failure.c:715:   delete_from_swap_cache(p);
shmem.c:1115:       delete_from_swap_cache(*pagep);
shmem.c:1645:            * unaccounting, now delete_from_swap_cache() will do
shmem.c:1652:               delete_from_swap_cache(page);
shmem.c:1668:       delete_from_swap_cache(page);
vmscan.c:673:       __delete_from_swap_cache(page);
swap_state.c:137:void __delete_from_swap_cache(struct page *page)
swap_state.c:218:void delete_from_swap_cache(struct page *page)
swap_state.c:227:   __delete_from_swap_cache(page);
swapfile.c:947:         delete_from_swap_cache(page);
swapfile.c:987: delete_from_swap_cache(page);
swapfile.c:1023:            delete_from_swap_cache(page);
swapfile.c:1571:            delete_from_swap_cache(page);
./linux-4.9/mm$ 

Linux
  1. Pengantar menggunakan tcpdump di baris perintah Linux

  2. Memecahkan masalah menggunakan sistem file proc di Linux

  3. Menggunakan kekuatan di baris perintah Linux

  1. Cerita Linux:Saat pencadangan menyelamatkan hari

  2. Bagaimana cara mendapatkan jumlah CPU di Linux menggunakan C?

  3. Apa gunanya menggunakan makro linux access_ok()

  1. Kiat untuk menggunakan perintah teratas di Linux

  2. Bagaimana cara menghindari pesan peringatan 'adalah file yang sama' saat menggunakan cp di Linux?

  3. Bagaimana cara mengkonfigurasi swappiness di Manajemen Memori Linux?