File swap tumbuh secara dinamis di Debian

10

Saya tahu cara membuat file swap dan menggunakannya sebagai swap. Tapi saya harus mengkonfigurasi ukuran file sebelumnya dan ruang yang digunakan pada disk, apakah swap digunakan atau tidak.

Bagaimana cara membuat swap yang memiliki ukuran awal 0 dan tumbuh sesuai permintaan?

rubo77
sumber
@Gilles: Saya hanya ingin tahu - Mengapa Anda mengedit judul (selain dari kesalahan ketik)? Bukankah itu diinginkan untuk memiliki pertanyaan yang sepenuhnya diucapkan di sini?
rubo77
1
Lebih baik menghindari kata-kata yang tidak berguna, terutama di awal judul yang merupakan tempat orang paling memperhatikan. Lihat Bagaimana cara menulis judul yang bagus? . “Tukar yang tumbuh secara dinamis” memberikan ide penting. "Bagaimana cara membuat" tidak mulai menunjukkan tentang apa pertanyaan itu. Ada orang yang lebih suka membuat judul pertanyaan pertanyaan karena itu pertanyaan, tapi itu alasan konyol: judul juga judul jawaban.
Gilles 'SO- stop being evil'

Jawaban:

3

Swapspace sudah tua dan tidak terawat dan suatu hari nanti dapat menyebabkan masalah dalam sistem modern. Saya pikir solusi terbaik untuk pertukaran dinamis adalah:

sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable

kemudian CONF_SWAPFACTOR=2masuk /etc/dphys-swapfiledan akhirnya

sudo service dphys-swapfile start
Denis Pitzalis
sumber
Ini berfungsi, tetapi perlu diingat, bahwa Anda bisa menjadi lebih baik tanpa swap, lihat unix.stackexchange.com/a/136133/20661
rubo77
10

SwapSpace adalah utilitas yang menciptakan 'file swap dinamis' yang menurut persyaratan sistem operasi mengubah ukurannya.

Jadi Anda bahkan dapat lupa tentang membuat file swap virtual dan hanya menginstal "SwapSpace" dan secara otomatis akan membuatnya untuk Anda dan bahkan akan mengubah ukurannya saat diperlukan.

Anda juga dapat menggunakan 'Swapspace' berdampingan dengan file swap yang dibuat secara manual dan ketika file swap yang diisi secara manual 'Swapspace' secara otomatis akan membuat yang lain untuk OS sehingga OS akan selalu memiliki ruang swap dan meningkatkan stabilitas.

Hal lain yang bermanfaat tentang "SwapSpace" adalah bahwa, kapan pun bisa, itu akan mengurangi ukuran SwapSpace dan "melepaskan" byte tersebut ke dalam sistem file pengguna dan menurut pengembang pengurangan ini membantu untuk meningkatkan kinerja file swap juga ( ditambah ruang HDD "berharga" Anda juga tidak terbuang).

Instal dengan

sudo apt-get install swapspace

Dan sesuaikan file konfigurasi dengan kebutuhan Anda. Saya mengatur minimum untuk 0pada mesin VM debian saya dengan hanya 8GB HDD


Selain itu saya juga mengatur swappiness untuk 0meminimalkan penggunaan ruang HDD yang berharga di VM saya:

Untuk mengubah nilai swappiness sistem, buka /etc/sysctl.confsebagai root. Kemudian, ubah atau tambahkan baris ini ke file:

vm.swappiness = 0

(Reboot agar perubahan diterapkan)

rubo77
sumber
Ini tidak akan mendukung swsusp / menangguhkan file swap, kecuali ukuran file swap yang dibuat sudah cukup besar untuk menampung dump RAM.
soze
Jadi bagaimana kita bisa memastikan bahwa file swap menjadi cukup besar untuk menampung ram?
rubo77
Siapkan satu file swap ukuran tetap dengan ukuran RAM untuk penangguhan, lalu gunakan swapspace untuk swap berukuran dinamis
Tom Hale
Ini berhasil untuk saya. Ini sangat berguna untuk disk SSD kecil.
Adrian Lopez
0

Afaik, partisi swap apa pun yang akan Anda buat menggunakan fdisk misalnya, akan membutuhkan ruang yang lebih besar dari 0, karena Anda memodifikasi ruang dari disk yang ada dan mengalokasikannya kembali ke tempat lain.

Bagaimanapun, dan menjawab pertanyaan Anda, Anda dapat dengan mudah membuat partisi kecil, menetapkannya sebagai swap di bawah fdisk, dan setelahnya:

1) nonaktifkan swapping dengan swapoff -v 2) ubah ukuran partisi dengan lvresize 3) format partisi dengan mkswap 4) aktifkan kembali ruang swap denganswapon -v

Setelah itu, Anda dapat menggunakannya cat /proc/swapsuntuk memeriksa apakah sudah ditingkatkan atau belum. Anda dapat dengan mudah menggunakan ini pada skrip, tergantung pada spesifikasi sistem Anda, dan menjalankannya sesuai permintaan setiap kali Anda perlu menambah ruang swap itu. Sesuatu seperti:

$ swapoff -v /dev/swapvol1
$ lvresize /dev/swapvol1 -L +1G
$ mkswap /dev/swapvol1
$ swapon -v /dev/swapvol1
AleksanderKseniya
sumber
1
Ini tidak menjawab pertanyaan karena ukuran swap diubah secara manual, bukan sesuai permintaan. Selain itu, mengubah ukuran LV tidak berguna: di mana Anda menemukan ruang untuk tumbuh? bagaimana ruang bebas penyusutan tidak terbuang? Pertanyaannya bertanya tentang file swap, yang memecahkan masalah ruang kosong - itu tersedia untuk file lain.
Gilles 'SO- berhenti bersikap jahat'
Mengubah ukuran swap berdasarkan permintaan adalah ide yang bagus, tetapi swapspace tidak mencakup skenario swsusp yang digunakan untuk mendukung hibernasi. Saya percaya jawaban ini mungkin lebih waras bagi para pengguna yang membutuhkan dukungan hibernasi. Hingga swapspace mengatasinya dengan lebih baik, tentu saja.
soze