Pentingnya Partisi Swap

34
  • Apa tujuan dari partisi swap?
  • Bagaimana saya tahu saya memiliki cukup partisi swap? Tidak terlalu banyak.

PC Ubuntu saya digunakan untuk hal-hal biasa:

  • Web (email, facebook, dll.)
  • Beberapa film
  • bermain game jarang terjadi
lamcro
sumber
Dengan apa yang telah diposting sepertinya saya memiliki terlalu banyak swap. RAM 3GB, 300GB HD, dan partisi 8GB untuk swap.
lamcro
2
Pertukaran ekstra yang tidak digunakan tidak akan menyakiti Anda, dan merebut kembali 1,7% dari drive Anda untuk membuatnya lebih kecil mungkin tidak sepadan dengan usaha. Ya, ini jauh lebih besar daripada yang mungkin pernah Anda gunakan, saya tidak akan khawatir tentang hal itu.
msw
1
Anda juga dapat melihatnya sebagai partisi swap "bukti masa depan", jika Anda pernah menambahkan memori tambahan ke sistem Anda, Anda tidak perlu memperbesar swap ... :)
JanC

Jawaban:

15

Partisi swap melayani beberapa tujuan.

  • Ini berfungsi sebagai 'cadangan' RAM. Artinya, jika komputer Anda kehabisan RAM, itu akan menggunakan area swap sebagai sumber sementara lebih banyak memori. Lebih khusus, itu akan 'menukar' item yang tidak digunakan dari RAM ke area swap untuk meninggalkan ruang kosong untuk aplikasi yang membutuhkannya pada saat itu juga. Ini tidak ideal karena kecepatan transfer data ke hard drive jauh lebih rendah daripada RAM normal Anda. Dalam praktiknya ini berarti jauh lebih lambat untuk mengambil informasi dari area swap.

  • Ini digunakan saat komputer hibernasi. Hibernasi melibatkan pengambilan gambar RAM dalam kondisi saat ini (seperti ISO yang mewakili gambar), dan menyimpannya ke area swap. Itu kemudian memuat gambar ini ketika komputer restart.

  • Agar paling bermanfaat, area swap setidaknya harus (RAM * 1.5) meskipun lebih banyak direkomendasikan. Sebagai contoh, pada sistem saya dengan 3gb RAM, saya memiliki area swap 7.2gb.

richzilla
sumber
Jika Anda tidak menggunakan sesuatu itu sangat ideal untuk menukar ke disk, dan menggunakan RAM untuk hal-hal yang Anda gunakan (misalnya memindahkan CUPS atau daemon lain yang tidak sering Anda gunakan untuk bertukar memberi Anda lebih banyak memori untuk cache disk data yang banyak digunakan).
JanC
-1; "(RAM * 1.5) meskipun lebih direkomendasikan" - di PC desktop? Anda mengulangi kebijaksanaan konvensional yang salah selama bertahun-tahun.
@ user280493 Perlu dicatat bahwa jawabannya sudah bertahun-tahun ... bertahun-tahun yang lalu ketika Anda berkomentar.
Crisfole
7

Ini sangat dekat dengan pertanyaan tentang ukuran "kanan" untuk partisi swap. Sebagian besar informasi yang sama dari jawaban saya berlaku - pada dasarnya, jika Anda ingin hibernasi, Anda biasanya ingin ruang swap Anda setidaknya sebesar RAM Anda, dan selain itu angka bulat seperti 1 atau 2 GB cukup mudah. Karena swap jauh lebih lambat daripada RAM, jika Anda mengisi banyak gigabita swap, komputer Anda hampir pasti menjadi sangat lambat.

Juga tidak ada kebutuhan nyata untuk partisi swap - swap file (tersedia di sistem file linux arus utama) memberikan kinerja yang sama dan membuatnya mudah untuk menambahkan lebih banyak ruang swap jika Anda memutuskan Anda tidak punya cukup.

RAOF
sumber
4

di sini informasi yang sangat mendalam tentang swap

beberapa orang mengatakan dobel ram Anda tetapi secara pribadi saya merekomendasikan ini:

swap = 1,5 X Total Ram

Contoh:

jika Anda memiliki 2Gb ram -> swap = 1,5 x 2 = 3

PD: Desktop Ubuntu menggunakan Swap ke Hibernate (PC mati, tidak diperlukan daya, status program disimpan). Jika Hibernasi penting bagi Anda, miliki lebih banyak ruang swap kemudian ram + swap overflow.

hhlp
sumber
2

The freeperintah dapat memberitahu Anda berapa banyak swap yang Anda gunakan. Misalnya pada mesin ini:

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

menunjukkan kepada saya bahwa saya memiliki 2GB (1947m) RAM dan sistem telah menggunakan sebagian besar dari itu. Namun, 312m digunakan untuk buffer I / O dan sisanya (758m) sistem telah memutuskan untuk mengisi dengan cache disk.

Cache disk menarik karena menggunakan memori cepat, bukan disk lambat untuk kontennya. Konten dapat diperoleh dari disk, tetapi disimpan di sekitar jika diperlukan. Ini juga berarti bahwa ada 758m memori yang dapat direklamasi dalam sekejap jika perlu karena sistem tahu ia dapat menemukan data pada disk sebagai gantinya.

Itulah sebabnya ada baris kedua yang menunjukkan bahwa jika tidak ada buffering dan cache, saya akan memiliki setengah RAM saya (1154m) tersedia untuk digunakan.

Baris ketiga menunjukkan bahwa saya memiliki partisi swap yang terlalu besar (ada di sana dan tidak melakukan apa-apa) dimana 3m kekalahan telah digunakan. Ini adalah hal-hal yang kernel benar-benar tidak harapkan harus digunakan dalam waktu dekat sehingga macet di "teras belakang".

Saat freememberi Anda snapshot sekarang, vmstatdapat memberikan Anda gambar yang sedang berjalan:

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

Ada banyak informasi di sana, tetapi yang menarik adalah bahwa tidak ada lalu lintas swap-in (si) atau swap-out. Yang berarti saya tidak menggunakan swap sama sekali selama 10 detik terakhir.

msw
sumber
0
  • Area swap adalah bagian dari ruang Hard Disk yang digunakan untuk mendukung ruang memori RAM yang terbatas. RAM dalam ukuran terbatas sehingga, beberapa aplikasi membutuhkan lebih banyak RAM daripada ruang RAM yang tersedia, Dalam hal ini Swap Space juga disebut sebagai Virtual Memory yang digunakan untuk mendukung RAM.
  • Ini lebih lambat dalam kecepatan dibandingkan dengan kecepatan RAM. Ketika kita menjalankan aplikasi besar maka bagian yang paling terakhir digunakan dari aplikasi itu di swap ke Area Swap pada Hard Drive, itu ditukar kembali dari Area Swap ketika dibutuhkan. Ini memberikan Sistem Operasi rasa hanya memiliki lebih banyak RAM daripada yang sebenarnya.
  • Ini adalah partisi khusus pada Hard Disk yang dibuat saat menginstal Sistem Operasi.
  • Ada baiknya jika membuat Area Swap Gandakan ukuran RAM.
  • Anda dapat memeriksa Area Swap yang digunakan dan tersedia menggunakan perintah berikut:

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    
Vijesh
sumber
0

Saya memiliki laptop dengan hard drive lambat, tetapi RAM relatif tinggi (8GB). Pada pengaturan ini, saya menemukan drive swap menjadi kontraproduktif karena alasan berikut:

  1. Mendapatkan aplikasi kembali dari swap lambat , sebanding dengan memuat aplikasi dari awal. Saya lebih suka memiliki lingkungan yang merespon dengan cepat, bahkan jika itu berarti saya kadang-kadang harus menutup dan memuat ulang aplikasi, daripada lingkungan yang kadang-kadang menghambat saya.

  2. Jika saya ingin kemampuan untuk hibernasi, itu berarti menulis banyak data ke disk. Itu akan menjadi penguras baterai yang konstan jika dilakukan terus-menerus (perilaku default swappiness 60), atau jika itu hanya dilakukan pada waktu hibernasi (dengan mengurangi swapiness), maka akan butuh waktu lama untuk benar-benar hibernasi. Saya menemukan menangguhkan menjadi RAM daripada menangguhkan ke disk menjadi cukup memuaskan. Itu bisa tetap ditangguhkan selama beberapa hari, dan itu akan membatalkan pengeluaran jauh lebih cepat daripada hibernasi penuh.

  3. Karena hard drive lambat, saya lebih suka menyimpan 1GB RAM yang dicadangkan untuk cache disk , secara efektif bertukar memori untuk kecepatan. Ini membuat mesin saya tajam, tetapi itu berarti saya hanya dapat menggunakan 7GB dari 8GB RAM saya untuk aplikasi. Perangkat lunak yang saya gunakan untuk mencapainya adalah percabangan awal yang membunuh tab browser lama ketika 88% dari RAM telah digunakan. Saya kadang-kadang harus memuat ulang tab browser lama yang telah dimatikan.

Kapan saran ini tidak berlaku?

  • Jika Anda memiliki hard disk drive yang cepat , atau SSD, dan memiliki sedikit kekhawatiran tentang pengurasan baterai, maka kerugian yang saya uraikan di atas tidak akan berlaku. (Meskipun SSD awal mungkin memiliki masalah dengan keausan, saya percaya setiap SSD yang dijual sejak 2018 akan baik-baik saja.)

  • Jika mesin Anda memiliki RAM yang sangat sedikit , atau Anda suka menggunakan beberapa aplikasi yang haus memori pada saat yang bersamaan, maka Anda mungkin perlu menggunakan swap untuk menyelesaikan pekerjaan Anda, terlepas dari kekurangannya. Ini adalah kasus penggunaan utama untuk swap, sebelum memori mulai menjadi lebih murah.

  • Jika Anda benar-benar membutuhkan hibernasi (mungkin Anda ingin menunda laptop Anda, dan membukanya kembali setelah beberapa hari tanpa pengisian daya) maka Anda memerlukan swap drive (disarankan setidaknya sebesar RAM Anda).

Peringatan:

  • Beberapa perangkat lunak yang kita biarkan berjalan untuk waktu yang lama (terutama lingkungan OS dan desktop) akan memuat kode ke dalam memori yang tidak akan pernah benar-benar digunakan lagi. Halaman-halaman ini dapat dipindahkan ke swap dan tidak perlu ditarik lagi, sehingga menghindari kerugian yang saya sebutkan sebelumnya. Untuk alasan ini, saya terkadang membuat file swap 512MB atau 1GB kecil , dan membiarkan halaman memori yang tidak digunakan diganti. Ini hanya memberi saya sedikit lebih banyak RAM untuk aplikasi. (Diperlukan: Teknik untuk mengukur churn swap, untuk membantu menyempurnakan ukuran file swap ini.)
joeytwiddle
sumber