Tetapan dan Menambah Swap untuk Linux

September 27, 2015 0 Comments Server 848 Views
Tetapan dan Menambah Swap untuk Linux

Bagi yang menggunakan VPS berkapasiti rendah seperti 1GB RAM, 1 CPU manakala skrip atau program (plugin, modul atau extension) terlalu banyak dipasang  serta jumlah pelawat yang ramai. Menjalankan Swap pada server adalah langkah terbaik untuk mengelakkan RAM kehabisan sumbernya. 

Apabila RAM telah habis digunakan oleh proses-proses yang dijalankan oleh skrip, program dan permintaan pengguna sebelum itu. Sebarang permintaan yang baru oleh pengguna akan terhenti. Ia mengambil masa untuk RAM kembali mempunyai ruang serta membebaskan kembali proses yang terhenti (biasa berlaku bila laptop/komputer selalu ‘hang’).

swap

Jika swap dijalankan, swap akan mengambil alih tugas iaitu sedikit bahagian daripada Hard disk drive (HDD) atau Solid state drive (SSD) akan berperanan sebagai RAM. Tiada lagi masalah seperti program terhenti (hang/freeze).

Namun ia mengakibatkan proses dan capaian pengguna menjadi lambat, kerana respon oleh HDD atau SSD tidak sama seperti RAM. Sebuah RAM tidak menyimpan memori selamanya, ia akan hilang apabila komputer dipadamkan. Ini melibatkan pergerakan elektron dan komponen elektronik di dalamnya. Berlainan sekali dengan HDD/SSD yang mana data tersimpan dan didaftarkan dalam bentuk cetakan pada cakera keras dan memerangkap elektron di dalam sel-sel bagi solid state drive.

Swapfile yang terlalu kerap antara RAM kepada HDD/SSD lama kelamaan akan menyebabkan kerosakan pada HDD/SSD kerana proses mencetak dan menyimpan maklumat kerap bertukar ganti. Penggunaan Swap ini adalah sebagai langkah berjaga-jaga sahaja. Jika kerapkali RAM kehabisan disebabkan oleh faktor-faktor di atas. Naik taraf VPS, server atau komputer adalah perlu dengan menambah bilangan RAM.

 

Menetapkan Swap pada Ubuntu

Sebelum menjalankan fungsi swap ini, periksa dahulu sama ada fungsi ini telah tersedia ataupun tidak dengan menaip.

sudo swapon -s

Jika anda mendapat bacaan seperti di bawah, iaitu hanya tajuk pada jadual tanpa sebarang nilai. Ini bermaksud bahawa swap masih tidak dijalankan lagi.

 Filename      Type     Size     Used      Priority

 

Contoh arahan dan respon pada screen

Contoh arahan dan respon pada screen

 

Cara selain dari arahan diatas adalah menggunakan arahan

free -m

Dapat dilihat bacaan dibawah iaitu pada row swap nilai adalah 0, bermaksud masih tiada tetapan dilakukan.

free-m

 

Kemudian, periksa pula hard drive sama ada masih mempunyai ruang yang boleh digunakan. Taip arahan ini.

df -h

Seperti bacaan di bawah, masih terdapat 24GB hard drive yang tidak digunakan. Banyak ruang lagi untuk melakukan swap.

hardisk

Mengikut kebiasaan, bilangan swap adalah 2 kali ganda bilangan RAM. Andai server mempunyai 1GB RAM, maka 2GB akan ditetapkan untuk fungsi swap ini. Namun cadangan saya, anda naikkan sedikit menjadi 3GB. 

Untuk menetapkan fungsi swap, di sini saya menggunakan hanya 2 GB. Taipkan arahan

sudo fallocate -l 2G /swapfile

Ketika ini satu direktori telah pun terbentuk iaitu swapfile. Anda boleh pastikan dengan menaip 

ls -lh /swapfile

dan maklumat seperti di bawah akan dipapar.

 -rw-r--r-- 1 root root 2.0G Sep 22 04:24 /swapfile

 

Ketika ini swapfile yang telah dibina masih belum boleh digunakan. Sistem masih belum diberitahu akan fungsi direktori swapfile ini. 

Tetapi sebelum itu kita harus menetapkan permission iaitu chmod supaya direktori ini tidak boleh dibaca dan ditulis dengan mudah oleh pengguna lain, selain oleh pengguna root sahaja. Taipkan

sudo chmod 600 /swapfile

Untuk pastikan arahan ini telah mengubah permission pada direktori swapfile, taipkan 

ls -lh /swapfile

dan seperti yang dipaparkan. Hanya root sahaja mempunyai kebenaran untuk (r) read dan (w) write

  -rw----- 1 root root 2.0G Sep 22 04:24 /swapfile

Setelah keselamatan direktori ini ditingkatkan, kini masa untuk memberitahu sistem untuk menjadikan direktori ini sebagai berfungsi sebagai swap.

sudo mkswap /swapfile

Bacaan seperti di bawah akan dipaparkan

  Setting up swapspace version 1, size = 2097148 KiB
 no label, UUID=8d3eb31b-b39b-418f-b137-fd0225c1b7d78

 taip arahan dibawah untuk mengaktifkannya.

sudo swapon /swapfile

 

Contoh arahan dan respon

Contoh arahan dan respon

 

Kini anda boleh lihat swap yang telah ditetapkan dengan menaip arahan sebelum ini, iaitu

sudo swapon -s

 

swapon_final

Nilai swapfile dengan arahan swapon -s

atau

free -m

free-m_final

Nilai swap dengan arahan free memories (free -m)

 

Tetapan untuk jadikan Swap kekal

Tetapan yang telah dilaksanakan di atas tidak tetap kerana ia akan hilang apabila server di reboot. 

Untuk jadikan ia kekal selamanya. fail fstab iaitu fail untuk konfigurasi disk partition haruslah diubah. Taip arahan berikut

sudo nano /etc/fstab

masukkan arahan berikut dengan menaip di bahagian bawah sekali.

/swapfile   none    swap    sw    0    0
Capture-fstab1

Contoh arahan yang dimasukkan

Klik Ctrl-X dan Y untuk simpan.

Penambahbaikan tetapan swap

Seperti dijelaskan pada perenggan awal artikel ini, perbezaan peranan RAM dan HDD/SSD adalah jauh dari segi kepantasan dan juga kerja. Penggunaan swap yang terlalu kerap juga boleh menghauskan HDD/SSD.

Untuk ini satu parameter swappiness yang mengawal kekerapan pertukaran antara RAM dan swap space. Ia boleh diubah dengan merendahkan peratusan, di mana jika penggunaan RAM tinggi, sehingga ruang yang tinggal mencecah peratusan yang ditetapkan itu, swap akan mengambil tempat.    

Sebolehnya untuk server tetapan yang sesuai adalah 1 hingga 10. Swap akan melambatkan capaian pengguna kerana untuk sesebuah fail atau objek diambil terus dari HDD/SSD adalah dalam kiraan millisecond (mili saat). Manakala RAM pula kepantasan kerja adalah dalam julat nanosecond (nano saat).

Nilai swappiness boleh dilihat dengan menaip

cat /proc/sys/vm/swappiness

60

Nilai sekarang adalah 60 di mana agak tinggi. Kita akan rendahkan dengan menaip

sudo sysctl vm.swappiness=10

vm.swappiness = 10

Cara diatas boleh dilakukan untuk mengubah parameter swappiness mengikut keperluan pada bila-bila masa sehingga server di reboot. Untuk menjadikan nilainya kekal setiap kali server dimulakan. Tambahan baris arahan perlu dilakukan pada fail  /etc/sysctl.conf. Taip

sudo nano /etc/sysctl.conf

pada akhiran letakkan baris arahan 

vm.swappiness = 10
Capture-sysctl1

Contoh arahan yang dimasukkan

Klik Ctrl+X dan Y untuk simpan.

Selain dari diatas, antara penambahbaik yang boleh dilakukan adalah mengubah nilai vfs_cache_pressure yang mengawal cache untuk inode dan dentry filesystems bagi linux. Taipkan

cat /proc/sys/vm/vfs_cache_pressure

Bacaan di bawah akan dipaparkan.

100

Nilai yang tersedia adalah 100 dan ini menunjukkan sistem akan ganti informasi inode (metadata fail/objek) cache terlalu kerap. Nilai ini akan dikurangkan kepada 50 untuk mengurangkan kekerapan pengantian cache dan secara tidak langsung RAM akan mempunyai ruang untuk aktiviti lain. Taipkan

sudo sysctl vm.vfs_cache_pressure=50

Bacaan di bawah akan dipaparkan.

[div class=”kod” ]vm.vfs_cache_pressure = 50

Namun, sama seperti di atas hanya untuk sementara sebelum server di reboot. Untuk menjadikan ia kekal sama seperti swappiness. buka file sysctl.conf

sudo nano /etc/sysctl.conf

Kemudian tambah baris arahan di bawah, sama seperti swappiness sebelum ini.

vm.vfs_cache_pressure = 50

Klik Ctrl+X dan Y untuk simpan.

Capture-sysctl1-2

Contoh barisan yang dimasukkan

Restart server untuk apache atau nginx.

sudo restart apache2

nginx -s reload

Selesai. 

 

About author

Related articles

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Reply