Apa itu Memory Leak?


Pernahkah Anda mengalami apa yang disebut sebagai Memory Leak? Pernah merasakan performa laptop berangsur-angsur melambat atau bahkan sistem operasi menjadi "not responding"? Atau, muncul pesan error "Segmentation Fault" saat melakukan eksekusi program C? Jadi, apa itu Memory Leak?

Memory Leak adalah suatu keadaan dimana resource dari aplikasi yang dialokasikan pada memori tidak mampu dibebaskan sehingga membebani memori dan pada akhirnya menurunkan performa atau dalam kasus terburuknya menyebabkan sistem crash.

Ilustrasinya, bayangkan ada sebuah mangkuk dengan muatan 0/5 dan ada 3 gelas dengan muatan air 2/5 / gelas. Andaikan mangkuk adalah sebuah memory dan gelas merupakan aplikasi maka memory hanya mampu menampung 2 aplikasi dalam waktu yang bersamaan. Mengapa? Kembali kepada ilustrasi, Mangkuk dengan muatan 0/5 diisi dengan 2 gelas air dengan masing-masing muatan 2/5, maka mangkuk saat ini bermuatan 4/5. Lalu, bagaimana bila gelas terakhir dituang ke mangkuk? Pastinya air tersebut akan tumpah 1/5 karena muatan mangkuk tidak mampu menampung air yang tersisa.

Sama seperti memory, ketika resource dari aplikasi tidak tahu harus ditampung dimana dan ada resource aplikasi lainnya tidak dapat dibebaskan maka performa laptop akan terpengaruh kinerjanya.


Lalu bagaimana cara mengatasi Memory Leak?

Memory Leak Fix

Sebenarnya banyak kasus yang menyebabkan Memory Leak dan cara mengatasinya bermacam-macam tergantung pada sumber penyebabnya.

Pada personal komputer, Memory Leak bisa terjadi karena aplikasi terlalu berat atau banyak sehingga melampaui batas dari memori yang tersedia. Kasus lainnya, personal komputer juga berangsur-angsur melambat karena banyak aplikasi yang berjalan dalam jeda waktu tertentu.

Solusi terbaik pada kasus diatas adalah tahu diri, maksudnya tahu seberapa besar daya tampung memori Anda terhadap aplikasi yang Anda gunakan. Bila memang harus menggunakan banyak aplikasi, Anda bisa menambah kapasitas RAM (Random Access Memory) untuk menampung lebih banyak resource. Solusi lainnya adalah melakukan restart pada personal komputer.

Pada kasus pemrograman, Memory Leak bisa terjadi karena terjadinya kesalahan pada coding yang dikerjakan, kasus seperti ini lebih sering terjadi pada pemrograman C dalam menggunakan pointer atau Java dalam pengalokasian dalam bentuk array. Hal sederhana lainnya misalnya pada bahasa C, kita lupa melakukan fclose(); setelah membuka suatu dokumen meskipun tidak terlalu berdampak pada kinerja personal komputer.

Solusi terbaik pada kasus diatas adalah memperbaiki coding Anda baik itu metode atau algoritma yang Anda gunakan. Hal lain yang bisa Anda lakukan adalah memastikan coding Anda benar, caranya bisa membagi kode menjadi bagian-bagian yang lebih kecil, menyisipkan kode untuk melakukan pengecekan Memory Leak, melakukan analisa error, dan lain sebagainya.


Sekian ulasan kali ini, bila Anda punya pendapat yang lebih baik atau informasi yang disampaikan kurang tepat dapat mencoret-coret kolom komentar dibawah. Semoga ulasan ini bermanfaat untuk kita semua.
Share on Google Plus

About ./A

Blog tentang teknologi dan informatika.
    Blogger Comment
    Facebook Comment

1 comments: