Bagaimana cara meningkatkan ukuran swap?

17

Baru-baru ini, saya memasukkan lebih banyak ram ke server saya dan sekarang saya sudah mendapatkan total 24GB RAM. Awalnya, saya mengatur OS untuk memiliki ukuran swap 2GB.

/dev/sdc1               1         281     2257101   82  Linux swap / Solaris
/dev/sdc2   *         282       60801   486126900   83  Linux

2GB dialokasikan untuk swap saat ini, tetapi membaca di sekitarnya sepertinya tidak banyak. Untuk sistem dengan 24GB, saya berpikir untuk mengalokasikan setidaknya 10GB swap.

Pertanyaan saya adalah: Dapatkah saya melakukannya saat OS sedang berjalan? Apakah saya harus menginstal ulang? Saya menggunakan OpenSuse 11.3

x MAN
sumber

Jawaban:

23

Anda memutuskan untuk membuat partisi swap terpisah setelah instalasi. Anda tidak dapat mengubah ukurannya secara online - bahkan perubahan ukuran offline akan mengambil banyak waktu dan menanggung risiko potensial merusak sistem file Anda selanjutnya di / dev / sdc2.

Opsi termudah untuk mengatasinya adalah dengan membuat partisi swap baru pada disk lain yang saat ini tidak Anda gunakan (atau mampu offline untuk mempartisi ulang) atau cukup gunakan file swap dalam sistem file yang ada (yang dilengkapi dengan beberapa penalti kinerja minor karena overhead sistem file ).

Prosedur umum untuk menambahkan partisi / file swap:

  • buat partisi tipe 82h atau file 8 GB baru menggunakan dd if=/dev/zero of=/swapfile bs=1M count=8192
  • inisialisasi itu menggunakan mkswap /swapfileataumkswap /dev/sdXX
  • gunakan swapon /swapfileatauswapon /dev/sdXX masing - masing untuk mengaktifkan ruang swap baru Anda saat bepergian
  • tambahkan entri ke / etc / fstab untuk memastikan ruang swap baru Anda diaktifkan saat reboot

Partisi swap Anda saat ini tetap digunakan, Anda mungkin ingin menyingkirkannya demi pengurangan kompleksitas. Cukup gunakan swapoff /dev/sdc1untuk menonaktifkan penggunaannya untuk saat ini dan menghapus referensi di/etc/fstab

the-wabbit
sumber
@ synticon-dj terima kasih. data pada disk tempat swap itu penting, dan saya punya disk lain yang bisa saya gunakan. Apakah menurut Anda pengaturan disk lain karena swap akan memengaruhi kinerja? Apakah saya harus menukar / dev / sdc1?
x-man
Ini akan mempengaruhi satu atau lain cara - jika / dev / sdc2 melihat banyak penggunaan, I / O ini bersaing dengan swap I / O. Jika Anda menambahkan partisi disk lain sebagai swap, Anda cukup menambahkan swap I / O load ke disk ini. Apa yang akan bermanfaat untuk kinerja swap, mau tidak mau merugikan I / O Anda yang lain pada disk yang terpengaruh. Yang sedang berkata, tidak ada yang seburuk untuk kinerja sistem Anda sebagai jumlah tinggi pageout / pagein permintaan. Jika Anda melihat ini, perbaiki dengan menambahkan memori atau mengurangi jejak memori sistem Anda.
the-wabbit
memiliki dua perangkat swap pada spindle yang berbeda akan membantu kinerja swap Anda (karena ada dua disk yang dapat diatasi secara bersamaan, bukan hanya satu untuk dibaca dan dituliskan). Tetapi karena Anda seharusnya tidak melihat aktivitas I / O tinggi karena bertukar, Anda mungkin lebih suka menggunakan hanya satu perangkat / partisi / file untuk memudahkan administrasi
the-wabbit
1
Perhatikan bahwa swapfile tidak akan berfungsi jika Anda menggunakan BtrFS. Dua work-arounds adalah (1) membuat perangkat loopback atau (2) menggunakan btrfs-swapon .
Diagon
@ the-wabbit Bagaimana caranya membuat /etc/fstabentri untuk memastikan swap baru diaktifkan saat reboot?
SIGSTACKFAULT
3

Apakah Anda memerlukan swap dalam hal ini? Saya tidak tahu apa yang Anda jalankan di sistem sistem Anda, tetapi saya mencoba untuk memiliki cukup memori di server saya untuk menghindari swap sepenuhnya ... (saya memang memilikinya, tetapi hanya sebagai failafe, jika server saya mulai bertukar, saya membeli lebih banyak memori ...)

AnalyticaL
sumber
Saya berada di pihak Anda di sini, swap terutama digunakan untuk mencegah kerusakan jika terjadi kehabisan memori (volatile) dan segera setelah Anda mulai memukul piring-piring server Anda menerima pukulan I / O dan / atau bandwidth dengan bijaksana, meskipun SSD dapat membantu mereka setidaknya 10 kali lebih lambat dari RAM yang saat ini sangat murah. Harga DDR3 ECC 1333MHz adalah sekitar $ 1000 untuk 64GB (8x8GB)
Shadok
2

Anda harus mempartisi ulang disk. Jika saya ingat dengan baik memindahkan permulaan partisi Linux tidak didukung di bagian tetapi Anda dapat menyusutkan sistem file dan partisi linux Anda juga dan kemudian membuat swap lain di akhir disk Anda. Anda tidak dapat melakukan ini saat sistem sedang online.

Solusi alternatif adalah dengan menggunakan file besar sebagai swap. (Tidak tahu apakah itu ide yang bagus saat ini.)

Batu
sumber
Tidak semua sistem file dapat menyusut, bahkan offline. Sayangnya, ini memengaruhi pilihan populer seperti XFS ( xfs.org/index.php/Shrinking_Support ).
Sven
@ Batu artinya menginstal ulang OS?
x-man
Tidak. Itu berarti membuat backup :), mem-boot LiveCD, menyusutkan sistem file linux kemudian partisi sdc2 dan membuat swap baru di akhir disk dan reboot sistem Anda.
Batu
0

1 Matikan semua proses swap

sudo swapoff -a

2 Ubah ukuran swap

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

if = input file
of = output file
bs = block size
count = multiplier of blocks

3 Jadikan file dapat digunakan sebagai swap

sudo mkswap /swapfile

4 Aktifkan file swap

sudo swapon /swapfile

5 Periksa jumlah swap yang tersedia

grep SwapTotal /proc/meminfo
Ryabchenko Alexander
sumber