Membersihkan Cache dari Phisycal Memory di Linux OS

Seperti yang telah diketahui pada umumnya, sistem operasi Linux terkenal dengan fasilitas memory management yang matang, dimana system maksimal dalam mempergunakan ruang extra dalam memory sebagai media simpanan cache. Bagian yang kosong dari memory tersebut seharusnya dapat dengan bebas digunakan oleh proses yang sedang berjalan dalam sistem operasi tersebut. Tetapi sayangnya ada beberapa distro Linux yang tidak menyertakan fasilitas ini secara otomatis, seperti yang saya gunakan sekarang OpenSuse 11.2 32bit dan 64bit, mungkin para developer distro tersebut berpikir menghilangkan memory cache tidak terlalu penting untuk menyediakan ruang memory kosong agar system berjalan secara maksimal.

Saat ini saya sedang memelihara sebuah server dengan memory 8GB, disaat server ini pertama kali jalan atau ketika melakukan restart, dapat terlihat menggunakan perintah “top” ketersediaan physical memory sangat banyak. Bisa dikatakan dari 8GB memory yang tersedia hanya terpakai 500MB saja, namun ketika system operasi sudah berjalan lebih dari 2 hari dengan aplikasi yang berjalan diatasnya adalah aplikasi java platform dan database MySQL maka sudah dipastikan server akan crash karena kehabisan ruangan kosong di memory sedangkan JVM cache management dan dabase cache system sudah disetting secara maksimal supaya tidak menghabiskan ruang di physical memory, dan hal tersebut mengharuskan saya untuk melakukan manual restart secara berkala.

Namun hal ini sudah tidak menjadi kekhawatiran lagi sekarang, ketika saya menemukan sebuah perintah untuk membersihkan cache tersebut dari memory. Dan yang akan dibahas dalam tulisan berikut.

Ada 3 macam metode pembersihan cache dalam memory, yang hanya dibedakan dengan angka 1, 2 dan 3, yang pertama adalah membersihkan pagecache (pagecache merupakan informasi yang disimpan di memory hasil dari proses baca dan tulis data terhadap harddisk), kedua membersihkan dentries dan inodes (dentries dan inodes merupakan bagian dari Virtual File System dalam Linux), ketiga membersihkan pagecache, dentries dan inodes:

echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

Tetapi jangan lupa untuk menuliskan perintah “sync” di shell sebelum menuliskan ketiga macam perintah diatas. Dari ketiga perintah tersebut diatas untuk mendapatkan hasil yang maksimal sebaiknya menggunakan “echo 3 > /proc/sys/vm/drop_caches”, dan dengan menggunakan perintah “top” maka kita dapat melihat hasil penurunan nilai yang terdapat dibagian “memory used” dari interface yang dihasilkan perintah “top”.

Setelah mengetahui kegunaan dari perintah diatas maka kita dapat menggunakannya ketika memory server penuh, tapi akankah hal ini dilakukan secara manual? Jawabanya “Bisa!”, bayangkan jika hal tersebut tidak dapat dilakukan secara otomatis maka akan mengakibatkan orang yang bertugas sebagai server administrator menderita. Oleh karena itu baiknya kita gunakan crontab untuk menjadwalkan perintah tersebut dieksekusi. Cukup dengan menyisipkan perintah yang tertulis dibawah ini ke editor crontab maka fungsi untuk membersihkan memory cache sudah dapat berjalan setiap jam 6 pagi dan jam 6 sore.

0 6,18 * * * sync
1 6,18 * * * echo 3 > /proc/sys/vm/drop_caches

Dalam artikel ini tidak diterangkan lebih lanjut mengenai crontab dan bagaimana cara melakukan editiong terhadap fungsi crontab, karena untuk mengetahui lebih lanjut tentang ini dapat dilihat di artikel

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: