Pertanyaan Bagaimana cara mengkonfigurasi swappiness?


Saya membutuhkan langkah demi langkah, cara sederhana dan mudah untuk mengkonfigurasi swappiness.


298
2018-02-13 18:31


asal


Satu liner sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf" - redanimalwar
@redanimalwar Anda juga perlu menjalankan sudo sysctl -p untuk memuat nilai swappiness baru dari file sysctl.conf, jika tidak, perubahan hanya berlaku pada reboot berikutnya. - waldyrious


Jawaban:


Kernel Linux menyediakan pengaturan tweakable yang mengontrol seberapa sering file swap digunakan, yang disebut swappiness.

Pengaturan swappiness dari nol berarti bahwa disk akan dihindari kecuali benar-benar diperlukan (Anda kehabisan memori), sementara pengaturan swappiness 100 berarti bahwa program akan di-swap ke disk hampir seketika.

Sistem Ubuntu dilengkapi dengan default 60, yang berarti bahwa file swap akan digunakan cukup sering jika penggunaan memori sekitar setengah dari RAM saya. Anda dapat memeriksa nilai swappiness sistem Anda dengan menjalankan:

one@onezero:~$ cat /proc/sys/vm/swappiness
60

Karena saya memiliki RAM 4 GB saya ingin mengubahnya menjadi 10 atau 15. File swap hanya akan digunakan ketika penggunaan RAM saya sekitar 80 atau 90 persen. Untuk mengubah nilai sistem swappiness, buka /etc/sysctl.conf sebagai akar. Kemudian, ubah atau tambahkan baris ini ke file:

vm.swappiness = 10

Nyalakan ulang agar perubahan diterapkan.

Anda juga dapat mengubah nilai saat sistem Anda masih berjalan dengan:

sysctl vm.swappiness=10

Anda juga dapat menghapus swap Anda dengan menjalankan swapoff -a lalu swapon -a sebagai root, bukan me-reboot untuk mencapai efek yang sama.

Untuk menghitung Formula swap Anda:

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

jadi totalnya adalah 3950/100 = 39,5 * 10 = 395

Jadi maksudnya adalah kapan 10% (395 MB) dari ram yang tersisa maka akan mulai menggunakan swap.


Bantuan Ubuntu. Menukar

Apa itu swappiness

Parameter swappiness mengontrol kecenderungan kernel untuk memindahkan proses keluar dari memori fisik dan ke swap disk. Karena disk jauh lebih lambat daripada RAM, ini dapat menyebabkan waktu respons yang lebih lambat untuk sistem dan aplikasi jika proses terlalu agresif keluar dari memori.

  • swappiness dapat memiliki nilai antara 0 dan 100.
  • swappiness=0:
    • Kernel versi 3.5 dan lebih baru: menonaktifkan swapiness.
    • Versi Kernel yang lebih lama dari 3.5: menghindari proses swapping dari memori fisik selama mungkin.
  • swappiness=1:
    • Kernel versi 3.5 dan lebih: minimal swappiness tanpa menonaktifkannya sepenuhnya.
  • swappiness=100:
    • Memberi tahu kernel untuk menukar proses secara agresif dari memori fisik dan memindahkannya ke swap cache.

Lihat http://en.wikipedia.org/wiki/Sappappiness.

Pengaturan default di Ubuntu adalah swappiness=60. Mengurangi nilai default dari swappiness mungkin akan meningkatkan kinerja keseluruhan untuk instalasi desktop Ubuntu yang khas. Nilai dari swappiness=10 dianjurkan, tetapi jangan ragu untuk bereksperimen.


Contoh

Mulai menggunakan swap di 91%:

enter image description here Seperti yang saya konfigurasikan sistem saya & vm untuk menggunakan RAM pada 90%, di 90% tidak ada pertukaran.

Setelah itu saya membuka beberapa aplikasi seperti Firefox & Shutter, dan itu mulai bertukar karena penggunaan RAM di atas 90%.


453
2018-02-13 18:33



Swappiness 100 tidak membuat program langsung bertukar, atau nilai tukar 60 atau 90 berarti digunakan ketika ram 60 atau 90% penuh. Ini adalah rasio preferensi untuk mencuri halaman dari cache dan menukar beberapa hal untuk membebaskan beberapa memori ketika tidak cukup. Nilai yang rendah akan sangat memilih mencuri halaman dari cache, dan nilai yang tinggi sangat memilih untuk mencoba dan menukar halaman. Pengaturan hanya memiliki efek sekali memori (hampir) semua digunakan, dan kernel harus memilih cara membebaskannya. - psusi
Anda perlu menunjukkan bahwa RAM yang TIDAK ditempati oleh program yang sedang berjalan digunakan sebagai cache disk ... jadi, dengan mengurangi swappiness, Anda meningkatkan peluang program tidak ditukar, tetapi pada saat yang sama mengurangi ukuran cache disk, yang dapat membuat akses disk lebih lambat. Jadi efek dari pengaturan ini pada kinerja yang sebenarnya tidak semudah itu ... Anda dipersilakan untuk bereksperimen tentu saja tetapi saya menduga default diatur oleh orang-orang yang cukup mengerti dalam subjek :) - Sergey
@Sergey dan ironi itu adalah bahwa mereka dengan RAM kecil kemungkinan besar akan mencoba setiap trik yang dapat mereka temui untuk meningkatkan kinerja dan lebih mungkin menjadi orang-orang yang 60 atau lebih tinggi akan menjadi sosok terbaik. Kita yang mengaturnya menjadi 10 karena kita memiliki banyak RAM yang tidak mendapatkan sebanyak yang mereka akan kehilangan jika mereka melakukannya. - Jon Hanna
@Freedom_Ben: Lihat linuxatemyram.com :) - Sergey
Hanya meninggalkan diskusi serupa di sini - unix.stackexchange.com/questions/88693/… - Elijah Lynn