2008/05/23

Flush/purge/clear/bersihkan RAM secara manual di linux

Pagi2 gini seorang teman kerja yang suka sekali dengan otak yang kebalik nanya tentang keinginannya untuk membersihkan memori di system linuxnya tapi tanpa proses reboot. Ya eyya laaah, makanya pake linux supaya engga terlalu sering reboot kalau ada perubahan pada sistem, kalau terlalu suka dengan reboot mah pake winblows aja.

Saya inget ketika dulu sering maen game arcade yang diemulasi dengan xmame di PC dengan memori yang hanya 128MB. Saya sering merhatiin, kalau game tersebut (biasanya game besar seperti Metal Slug atau Samurai Shodown dan The Last Blade) sudah diload ke RAM, maka RAM akan segera menjadi penuh akibat data dari game serta program lain, bahkan sampai terjadi swapping memory. Ketika game kita matikan (close, kill, you name them), ternyata memory usage langsung turun. Yang tersisa pastinya adalah data dari program lain yang masih berjalan.

Tapi masak sih kita harus maen game dulu untuk flushing RAM?

Ternyata salahsatu solusinya emang melakukan sesuatu yang mirip dengan itu. Dapet wangsit hasil googling di artikel ini yang ternyata lumayan tokcer ketika dicoba pada PC saya di kantor. Caranya:
  1. Buka 2 terminal (xterm, rxvt, afafun lah...), pada salahsatu terminal jalankan program top.

  2. Di terminal lain, berikan perintah ini (tidak harus oleh root):

    $ dd if=/dev/zero of=junk bs=10MB count=300 && rm junk

    Perintah tersebut akan membuat file junk berukuran 3GB lalu menghapusnya kembali. Saya buat berukuran 3GB karena itulah ukuran RAM yang saya pakai. Sesuaikan dengan ukuran RAM yang ada. Tapi ini butuh space HD yang free minimal sebesar file tersebut

  3. Perhatikan perubahan RAM usage (di terminal yang menjalankan top). Pemakaian memori akan naik terus sampai tiba2 turun drastis ketika file junk telah dihapus.


Ini sebetulnya sama saja dengan cara maen game di atas, tapi relatif lebih cepet.

Karena masih belum cukup puas, googling saya lanjutkan, selain karena link yang diberikan google di awal pencarian belum banyak yang terjelajahi. Ternyata ada cara lain yang menurut saya "lebih elegan". Saya anggap begitu karena tidak harus menunggu agak lama untuk menulis file 3GB, dan tentu tidak ada space HD sebesar RAM yang diperlukan. Perintahnya seperti ini (harus oleh root):

# sync && echo 3 | tee /proc/sys/vm/drop_caches

Ih... ternyata bener, RAM usage turun drastis. Untuk ngeliat hasilnya bisa dengan cara 2 treminal di atas atau cara lain yang mungkin dianggap lebih nyaman.

Hehe... ternyata ada perintah untuk membersihkan RAM/memori secara manual di linux. Tapi sayangnya pembersihan ini tidak dilakukan sampai RAM usage bernilai 0, yang dibersihkan hanya data di dalam RAM yang sudah dianggap invalid. Jadi kalau sedang menjalankan program boros memori seperti gnome (apalagi pake compiz/beryl) kemungkinan besar 2 cara di atas tidak akan terlalu ngefek.

5 comments:

OtKe said...
This comment has been removed by the author.
OtKe said...

asyik, thanks kang , numpang copas dan modifikasi, hehe :)

jarwadi said...

Maaf ya mau nanya, Saya ingin meng adobsi linux untuk kebutuhan sehari hari saya.

Berikut adalah kebutuhan ber linux saya dan permasalahanya

http://jarwadiku.multiply.com/journal/item/11/Mencari_Distro_Linux_yang_tepat_untuk_saya

Mohon berkenan untuk memberikan saran saranya

Terima kasih sebelumnya

salman said...

mudah-mudahan cara ini dapat membantu pekerjaan saya..thanks artikelnya...

idud said...

@salman: semoga membantu. Saya cuma ikut menyebarkan cara yg sudah diketahui saja.