Kerugian karena tidak memiliki partisi swap

8

Saya baru-baru ini menginstal Ubuntu 10,04 di laptop saya. Karena kendala ruang SSD, saya tidak mengatur partisi swap untuk OS, dan saya memiliki 1,5GB RAM.

Ada peringatan selama instalasi, tapi saya pikir itu bukan masalah besar karena semuanya berjalan lancar.

Untuk jangka panjang, apakah akan ada kekurangan karena tidak memiliki partisi swap?

segfault
sumber
2
Gparted akan dengan senang hati mengukir beberapa pertunjukan dari root drive Anda, dan melakukannya dengan mudah dan penuh percaya diri.
msw

Jawaban:

6

Saya pikir jika saya ingin menulis jawaban untuk pertanyaan Anda, saya harus terlebih dahulu menjelaskan seluruh hal swapfile sedikit di sini. Maafkan saya karena saya bertele-tele.

Sebuah swapfile / swap-partisi, mirip dengan pagefile di windows, adalah ruang harddisk yang didedikasikan untuk memfasilitasi penggunaan memori yang lebih baik. Ada dua penggunaan ruang swap.

  1. Ketika tidak ada CUKUP memori untuk semua aplikasi - dalam kasus di mana ini terjadi pada sistem tanpa swapspace, itu akan menyebabkan kegagalan untuk mengalokasikan memori untuk aplikasi baru yang meminta halaman memori baru - dan ini biasanya mengakibatkan penghentian program.

  2. Ketika beberapa halaman memori (memori dibagi menjadi 'halaman') digunakan beberapa waktu lalu, tetapi tidak lagi digunakan sekarang, itu akan ditransfer pada swapfile dan memori yang tersisa dapat digunakan untuk melakukan sesuatu yang lain yang bisa lebih berguna ( misalnya, bahkan caching!) - ketika ini terjadi dalam sistem tanpa swapspace, ini akan mengakibatkan halaman idle tetap berada dalam memori. Ini tidak terlalu serius, karena kami memiliki jumlah memori yang cukup besar hari ini.

Dan kemudian, jadi sekarang kita memiliki penggunaan partisi swapfile / swap terdaftar, berapa biasanya disarankan? - itu tergantung pada fungsi mesin. Jika ini adalah mesin desktop, atur ke 1-1,5x memori. Jika ini adalah mesin server, lakukan hal yang sama, tetapi perhatikan penggunaan swap, jika banyak digunakan, perbarui memori.

Seperti yang telah ditunjukkan orang lain, gparted dapat membantu Anda mengukir beberapa ruang dari partisi ext2 / ext3 Anda, tetapi Anda juga dapat menggunakan swapfile:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile

Kamu harus punya

swapfile none swap sw 0 0

aktif fstabuntuk memastikan itu digunakan pada setiap reboot

Dan satu hal lagi: Jika Anda tidak keberatan memiliki swapspace tetapi ingin meminimalkan penggunaan kecuali jika memori Anda benar-benar terentang, Anda dapat mengubah "swappiness" dari kernel dengan mengubah /proc/sys/vm/swappiness(nilai, 0-100; standar, 60).

bubu
sumber
Mungkin ada kegunaan untuk swap selain dari yang telah Anda nyatakan, seperti partisi swap yang digunakan untuk secara otomatis menyimpan file crash dump. Juga, ukuran memori 1-1,5x bukan nilai yang diterima secara universal. Secara teori, komputer dengan memori lebih banyak akan membutuhkan lebih sedikit memori untuk swap, karena memiliki X RAM habis dan membutuhkan Y lebih banyak RAM, mungkin dapat memasukkan memori tambahan ke dalam RAM yang tersedia alih-alih swap.
TOOGAM
@TOOGAM adalah pada tahun 2010, ketika orang menggunakan hal-hal seperti 2-4GB ram di desktop mereka.
bubu
7

Tidak ada penangguhan ke disk.

Henk Poley
sumber
3

Jika Anda kehabisan memori, maka perilaku yang tidak terduga dapat terjadi pada program Anda. Terkadang kernel akan mulai menjatuhkan memori di tempat-tempat acak . Kernel akan mulai menjatuhkan proses prioritas rendah.

Tidak ada memori virtual yang dapat mengeja masalah besar, terutama jika itu akan mulai menjatuhkan memori dari membunuh dokumen-dokumen penting yang memiliki prioritas rendah yang sedang dikerjakan.

Nitrodist
sumber
3
Ini akan terjadi terlepas dari apakah Anda memiliki swap atau tidak.
Ignacio Vazquez-Abrams
2
Sebenarnya, kernel tidak akan "mulai menjatuhkan memori di tempat acak". Sebaliknya itu akan melakukan apa yang harus dilakukan dan mulai mematikan proses yang dianggap "kurang penting" sampai situasinya membaik. Ini dilakukan oleh "pembunuh OOM". Lihat misalnya linux-mm.org/OOM_Killer
sleske
Saya berdiri dikoreksi.
Nitrodist
0

Setelah instalasi, periksa penggunaan memori Anda ketika menjalankan operasi intensif-memori atau hanya membuka aplikasi 'besar', seperti Openoffice.org, mendekompres file dan semacamnya. Jika Anda melihat bahwa total memori yang digunakan hampir 1,5 GB, maka itu mungkin ide yang baik untuk memiliki partisi swap atau file swap, kalau-kalau Anda menjalankan sesuatu yang menggunakan banyak memori dan Ubuntu mulai menjatuhkan memori penting, dan mungkin bahkan bagian dari kernel (tidak baik, benar-benar tidak baik ...).

Halo71
sumber
Saya ingin tahu, mungkinkah membuat linux drop bagian dari kernelnya untuk membebaskan memori untuk menjalankan proses?
Igor Zinov'yev
Mungkin tidak, tetapi Anda tahu apa yang saya maksud ...
Hello71
AFAIK, kernel Linux itu sendiri selalu berada dalam memori. Itu dimuat sebagai bagian pertama dari urutan boot dan tetap; memori tidak pernah dibebaskan atau bahkan ditukar. Anda dapat, bagaimanapun, memuat dan membongkar modul, dan memori itu akan dibebaskan (saya percaya), tetapi itu biasanya hanya beberapa lusin kb per modul. Kernel juga memelihara berbagai struktur & buffer data internal, mungkin dapat membebaskan sebagian dari mereka (meskipun tidak yakin).
sleske
0

Bukan jawaban yang lengkap, tetapi di sini ada cerita tentang satu hal yang benar-benar menyerang saya, bahkan ketika saya berpikir saya memiliki semua kemungkinan kelemahan yang ada di bawah kendali:

/programming/4567972/error-executing-aapt-all-of-the-sudden Singkatnya, beberapa alat dijalankan dari proses / aplikasi Java yang sangat besar tidak akan dapat berjalan selalu. Sebagian besar pengguna reguler tidak akan mengalami hal ini.

pjv
sumber