Apakah itu penting tentang jumlah area swap di sistem Linux


12

Apakah penting jika jumlah area swap di Linux diset terlalu kecil (katakanlah 1Gb), dan RAM utamanya adalah 128Gb?

Haruskah kita selalu mengatur jumlah area swap menjadi dua kali jumlah RAM?

DIPERBARUI:

Hai, terima kasih telah membalas pertanyaan ini. Bahkan, saya punya pertanyaan ini karena kami mengalami beberapa masalah ketika menggunakan sistem cluster kecil. Masalahnya diposting di Sini . Gambar berikut adalah beberapa informasi tentang beberapa komputer di kluster kecil ini.

informasi

Ini MEMTOTadalah jumlah total RAM dari mesin itu, SWAPTOjumlah total area SW AP mesin itu, dan SWAPUSjumlah total area SWAP yang digunakan. Seperti yang ditunjukkan dalam gambar, penggunaan SWAP memang kecil.

Saat mencoba menyelesaikan masalah yang diposting di Sini , kami tidak yakin apakah jumlah area SWAP disetel terlalu kecil, yang hanya 1Gbrelatif terhadap 128Gb, seperti yang ditunjukkan pada gambar. Jadi, saya punya pertanyaan ini. Maaf, saya tidak memposting seluruh informasi latar belakang dalam versi asli posting ini. Sebelum itu, kami juga berpikir bahwa jika jumlah RAM besar, kami dapat mengatur jumlah SWAP kecil. Kami mencoba mengatur SWAP c0148menjadi 16Gb, masalahnya tampaknya tidak ada (Mungkin kita harus mengambil kesimpulan ini setelah mengamati status mereka untuk waktu yang lama).

Kami bukan profesional di sistem Linux, dan kami tidak bisa menjelaskan mengapa ini terjadi. Ini adalah probabilitas bahwa ini adalah sistem cluster, dan SGE mengelola sumber daya setiap mesin, dan perlu memiliki jumlah SWAP yang relatif besar karena mesin tersebut dapat digunakan oleh banyak pekerjaan yang diajukan oleh banyak pengguna.

Selain itu, jika kita hanya mengatur jumlah SWAP terlalu besar, masalah lain apa yang akan ditimbulkannya juga layak dipertimbangkan.


1
Jika Anda memiliki 128Gb ram, dan Anda mulai bertukar - sistem itu mungkin jauh di luar kendali dan mati. Saya, secara pribadi, mungkin akan menjalankan server itu tanpa swap sama sekali. OOMKiller harus menangani semua proses pelarian sebelum kehabisan memori menyebabkan kerusakan - dan kerusakan lebih cepat untuk memperbaiki.
Ryan Gooler

1
Yang mana - apa? Beberapa MB barang dari init? Beberapa memori dalam cache yang akan dilempar begitu sesuatu benar-benar membutuhkan ram? Jika mesin Anda MEMBUTUHKAN untuk menukar memori agar berfungsi, kelebihannya dan perlu ditingkatkan lagi.
Ryan Gooler

1
@Ryan Gooler: Jika Anda melakukan simulasi ilmiah, proses yang menggunakan 128 Gb atau lebih tidak masuk akal.
jamesqf


1
@RyanGooler Cukup benar. Maksud saya adalah bahwa peningkatan swap dapat memungkinkan program untuk menggunakan lebih banyak ram fisik. Ini hanya beberapa MB tetapi lebih baik daripada tidak sama sekali :)
Navin

Jawaban:


19

Kernel Linux memiliki pengaturan untuk mengontrol seberapa sering swap digunakan, dipanggil swappiness, dijelaskan di /unix/88693/why-is-swappiness-set-to-60-by-default .

Swappiness of nol berarti swap hanya akan digunakan jika sistem kehabisan memori. Swappiness 100 memaksa program untuk menggunakan swap secara instan.

Tweak sistem Anda seperti yang Anda inginkan, tetapi memiliki 128 GB RAM sangat tidak mungkin bahwa sistem Anda kehabisan memori dengan mudah, jadi memiliki 2/4 GB swap bisa cukup. Tidak disarankan, tetapi mungkin, untuk menjalankan sistem tanpa partisi swap.

Saya pikir aturan area swap menjadi dua kali jumlah RAM sudah ketinggalan zaman, dan hanya berguna pada sistem yang sekitar 1 GB RAM dan selalu di tepi penggunaan RAM penuh.


2
Meskipun pengaturan swappinesske 0 tampaknya logis dengan jumlah RAM yang besar, mungkin lebih baik menyimpannya sebagai nilai default 60: http://unix.stackexchange.com/a/88820/50687 .
AL

1
Apakah ada beberapa grafik dengan bentuk swappiness 0 hingga 100 pada satu sumbu dan sesuatu yang lain pada yang lain untuk menunjukkan bagaimana ... swappiness tergantung pada nilainya?
user1306322

Hai, @jcbermu, saya sudah memperbarui posnya, jika nyaman, silakan periksa.
pertambangan

5

Saya percaya aturan 2x sudah usang. Workstation kami memiliki ram 16GB, kami biasanya hanya menggunakan sekitar 25% dari itu dan hampir tidak menggunakan lebih dari 50%. Jadi untuk tujuan kami, kami tidak menggunakan swap apa pun.

Karena Anda harus memutuskan berapa banyak swap untuk dibuat, dan secara teoritis bahwa nomor apa pun yang Anda pilih tidak akan cukup pada titik tertentu, lalu mengapa tidak memilih 0? Atau - mengapa tidak menginstal lebih banyak RAM?

Saya percaya ini adalah keputusan yang sangat pribadi berdasarkan pada bagaimana komputer Anda akan digunakan dan berapa banyak RAM yang dimilikinya.


Hai, @gjcamnn, terima kasih telah membalas. Saya sudah memperbarui posting, jika nyaman, silakan periksa.
pertambangan

0

Kecuali Anda akan melakukan perhitungan yang menghabiskan memori, Anda tidak perlu swap sama sekali (tetapi lebih baik memiliki partisi swap kecil). Tetapi memiliki swap> ram diperlukan ketika Anda akan menggunakan menangguhkan ke disk.


Hai, @ustp, terima kasih telah membalas. Saya telah memperbarui posting, jika nyaman, silakan periksa.
pertambangan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.