Saya menggunakan RAM untuk menyimpan beberapa tabel database saya dan yang lainnya disimpan dalam hard disk.
Hari ini saya mengetahui bahwa proses saya menggunakan memori swap. Sekarang apa itu swap memory dan bagaimana saya bisa mendeteksi proses mana yang menggunakan memory swap dan bagaimana saya bisa menghentikan mereka menggunakannya?
Jawaban:
Jika kehabisan memori fisik, Anda menggunakan memori virtual, yang menyimpan data dalam memori pada disk. Membaca dari disk adalah beberapa urutan besarnya lebih lambat daripada membaca dari memori, jadi ini memperlambat segalanya. (Saling menukar data antara memori nyata dan memori virtual adalah "swapping". Ruang pada disk adalah "ruang swap".)
Jika aplikasi Anda "menggunakan swap", maka Anda harus menggunakan lebih sedikit memori atau membeli lebih banyak RAM.
(Swap berguna karena aplikasi yang tidak sedang digunakan dapat disimpan pada disk sampai mereka digunakan. Kemudian mereka dapat "paged in" dan berjalan secara normal lagi. Meskipun tidak dalam memori, OS dapat menggunakan memori itu. untuk sesuatu yang lain, seperti cache disk. Jadi ini fitur yang sangat berguna, tetapi jika Anda tidak memiliki cukup memori fisik untuk menjalankan program Anda, Anda pasti membutuhkan lebih banyak memori. Untungnya, memori saat ini benar-benar sangat murah.)
sumber
Komputer memiliki sejumlah memori fisik. Tetapi sebagian besar waktu kita menginginkan lebih. Jadi kami menukar beberapa memori pada disk.
Setiap kali kita membutuhkan memori itu perlu ditukar kembali ke memori (menukar beberapa bagian lainnya). Ada algoritma yang sangat cerdas untuk meminimalkan penundaan, tetapi kadang-kadang kita masih harus menunggu.
Di windows, jika Anda melihat task manager, Anda bisa menunjukkan kesalahan halaman kolom. Ini menunjukkan jumlah waktu, aplikasi meminta sepotong memori yang ada di disk dan perlu ditukar. Banyak kesalahan halaman = aplikasi lambat.
Proses ini digunakan pada beberapa tingkatan. Ringkasan dari cepat ke lambat:
sumber
Jika Anda tidak ingin menggunakan swap, maka jangan gunakan partisi swap (komentar di luar baris
/etc/fstab
), tetapi itu akan mencegah untuk memulai proses baru dan akan membuat malloc gagal jika Anda kehabisan memori fisik. Itu bukan ide yang baik secara umum ... tidak terlalu aman dan bahkan tidak terlalu berguna, karena OS akan menyimpan halaman panas dalam memori dan akan bertukar ke disk yang tidak digunakan baru-baru ini.Solusi lain bisa dengan meretas basis data Anda sehingga mengunci halaman ke dalam memori (saya tahu itu bisa dilakukan, tapi saya tidak bisa memberi tahu Anda sekarang bagaimana tepatnya), tapi bagaimanapun, sepertinya database Anda akan menggunakan swapping sendiri dan mekanisme caching.
Untuk mengetahui apa itu swap dan bagaimana memori virtual bekerja ... Saya sarankan Anda untuk melihat beberapa kuliah Sistem Operasi, mungkin MIT Open Courseware bisa membantu.
sumber
Saya telah menemukan sebagian jawaban. Memori Swap adalah ruang dalam Hard Disk komputer Anda yang akan digunakan Sistem Operasi untuk memasukkan info yang sebenarnya ada di RAM untuk membebaskannya untuk aplikasi lain. Ini harus dilakukan ketika sistem membutuhkan memori untuk proses baru dan tidak ada, sehingga kita dapat melihat bahwa jika sistem kita memiliki banyak RAM, mungkin tidak memerlukan memori SWAP.
MEMPERBARUI
Untuk mencari tahu di mana ruang Swap (atau memori virtual) Anda dapat pergi ke Task Manger (CTRL + ALT + DEL) dan hidupkan dari LIHAT -> KOLOM -> MEMORI VIRTUAL. Sekarang hanya menghitung perbedaan antara penggunaan memori dan memori virtual. Juga di sini adalah instruksi bagaimana melihatnya jika Anda menjalankan Vista: http://www.ehow.com/how_5067693_increase-swap-space.html
sumber
Swap adalah ruang hard disk yang digunakan sebagai RAM. Ini (relatif berbicara) sangat lambat, tetapi menghentikan komputer dari crash ketika mereka mencoba untuk menangani lebih banyak data maka RAM mereka dapat menangani.
Untuk menghentikan proses menggunakan swap - instal lebih banyak RAM.
sumber
Jika Anda tidak ingin proses Anda menggunakan swap-memory, matikan saja swap memory. Sayangnya, jika Anda kehabisan memori, kernel Linux akan mematikan beberapa proses Anda yang sedang berjalan untuk membebaskan sebagian memori untuk digunakan.
Jika Anda memiliki RAM yang cukup untuk sistem Anda, Anda sebenarnya dapat pergi tanpa menukar memori.
Saya memiliki laptop dengan 768Mb RAM yang tidak menggunakan memori swap. Cukup bagus untuk kebutuhan saya. Saya memiliki server dengan 256Mb RAM dan tidak menggunakan memori swap. Ini menjalankan 8 server virtual menggunakan virtualisasi OpenVZ, tanpa masalah.
Jadi, terserah Anda jika Anda membutuhkan swap-memory.
sumber