Sejauh yang saya tahu, batas teoritis untuk file swap sangat besar tergantung pada apakah sistem 32bit atau 64bit digunakan.
Saya telah membuat file swap 16GB pada sistem 4GB RAM 64bit dengan spesifikasi rata-rata yang rendah, karena saya memiliki ruang lebih dari cukup pada HDD internal 1TB saya ...
Tetapi apakah file swap yang besar benar-benar membuat perbedaan dalam kecepatan / kinerja?
Jawaban:
Anda dapat memiliki hingga 32 area swap (file atau partisi) dengan masing-masing hingga ~ 4 miliar (2 ^ 32) halaman, di mana "halaman" adalah 4kB pada sistem tradisional (misalnya x86 atau x86_64) tetapi dapat lebih besar pada yang lain arsitektur atau jika Anda telah mengkonfigurasi halaman besar secara khusus.
Ini memberikan maksimum teoritis 16TB per area swap, dan hingga 32 area swap. Mungkin ada batasan lain yang berlaku sebelum Anda mencapai ini, tetapi ini sama besarnya dengan area swap yang
mkswap
dapat Anda buat.Mengenai seberapa banyak yang Anda inginkan, area swap apa pun di luar batas maksimum yang Anda manfaatkan sebenarnya tidak berkontribusi apa pun pada kinerja atau stabilitas sistem. Caranya adalah dengan memperkirakan jumlah maksimum pemanfaatan yang akan pernah terjadi dalam situasi normal atau bahkan abnormal, dan menggunakannya sebagai ukuran file swap Anda dan tidak lebih.
Pada saat penulisan, ruang swap yang lebih besar dari sekitar 4GB lebih dari ukuran memori fisik Anda sangat tidak mungkin untuk digunakan, kecuali jika sistem Anda sangat tidak normal. Pada sistem tipikal seperti sistem desktop yang digunakan oleh satu orang pada satu waktu, Anda mungkin bahkan dapat berhenti pada maksimum mengatakan 6GB hingga 8GB bahkan jika memori fisik Anda lebih besar.
sumber
Tidak ada bedanya dalam hal kecepatan atau kinerja. Itu hanya memungkinkan Anda untuk menggunakan hingga 20 GB memori virtual sebelum pembunuh OOM mulai membunuh proses untuk mendapatkan kembali memori.
Jika Anda menginginkan kinerja yang lebih baik:
swappiness
jika Anda tidak menggunakan lebih dari 4 GBsumber
Menurut jawaban Gilles
Selain itu, ia mengutip halaman manual untuk
mkswap
:Di perpustakaan linux / swap.h ada
MAX_SWAPFILES
entri, jadi ada batasan pada jumlah file swap pada tingkat kernel, namun itu tampaknya juga bukan area definitif. Menurut dokumen tertaut:Yang saya pahami memiliki maksimum hingga 64 swap file pada arsitektur 32-bit. Namun, saya belum memperhatikan dalam dokumen yang menyebutkan apa yang akan terjadi pada arsitektur 64-bit. Juga perlu dicatat bahwa dalam kasus ini , upaya OP untuk membuat file swap gagal pada entri ke-30.
Mengenai partisi swap, tampaknya tidak ada batasan untuk itu di kernel, selain constat yang disebutkan sebelumnya, tetapi jumlah partisi apa pun masih akan dibatasi oleh BIOS dan tata letak disk yang mendasarinya .
sumber
Jawaban ini mungkin tidak sesuai untuk Ubuntu 18.04 (terima kasih kepada @Chai T. Rex untuk menunjukkan ini di komentar).
Bagaimanapun untuk versi sebelumnya, ini dia (masih belum ada pembaruan yang diusulkan LTS> LTS, jadi ini mungkin masih relevan):
Ini bukan file, ini partisi, dan ya itu karena swappiness
Jadi pada dasarnya jika partisi swap Anda jauh lebih besar daripada RAM yang Anda miliki, sistem akan cenderung untuk bertukar lebih, menyebabkan kelambatan umum.
sumber
Tidak ada banyak perbedaan dalam kecepatan atau kinerja ketika meningkatkan partisi swap menjadi besar secara sewenang-wenang.
Ada beberapa faktor yang terkait dengan swap yang dapat memengaruhi kinerja seperti
swappiness
dan tipe hard drive (SDD atau HDD).Swap cukup lambat dan peningkatan swappiness mengurangi kinerja. Namun itu hanya berpengaruh jika tidak ada RAM yang cukup. Tapi itu lebih baik daripada tidak memiliki swap apa pun. Rekomendasi saya adalah membuat ukuran partisi swap dua kali lebih besar dari RAM Anda.
sumber
Saya sampai pada kenyataan bahwa file swap atau partisi swap praktis tidak memiliki batas. Juga, file swap 16GB saya cukup besar tetapi ukurannya tidak mempengaruhi kecepatan.
Namun apa yang saya kumpulkan adalah apa yang mempengaruhi kecepatan adalah sistem sebenarnya memanfaatkan ruang swap itu sebagai lawan perangkat keras fisik.
Solusi saya untuk itu adalah membuat nilai swappiness tinggi sehingga swap tidak terlalu digunakan sebagai lawan perangkat keras yang lebih cepat. jadi saya lakukan:
Ditambahkan ke file:
menyimpan
untuk menyegarkan (atau bisa saja reboot)
sumber
#vm.swappiness = 50
ke/etc/sysctl.conf
tidak memiliki efek apa pun, pemimpin#
membuat baris ini menjadi komentar, hapus saja. Anda dapat memeriksa swappiness dengancat /proc/sys/vm/swappiness
.