Cara Mendeteksi Kebocoran Memori di Ubuntu

Ada beberapa alasan kebocoran memori mungkin terjadi di Ubuntu, tapi untungnya, sudah jelas ketika itu terjadi. Kode buggy sering menjadi alasan terbesar, karena programmer mungkin tidak memiliki kesempatan untuk memeriksa untuk memastikan bahwa memori yang tidak lagi diperlukan akan dirilis. Jika Anda menginstal paket yang tidak stabil atau menyusun kode dari sumber, maka Anda mungkin berhadapan dengan kebocoran memori karena alasan ini. Anda mungkin akan mulai memperhatikan mereka karena paket aplikasi perangkat lunak mulai mengeluh tentang kehabisan memori ketika Anda memiliki lebih dari cukup RAM fisik yang terpasang.

Jika Anda khawatir tentang kebocoran memori, coba ketikkan gratis berulang kali ke terminal. Jika Anda tiba-tiba mulai melihat penggunaan RAM dengan cepat berkembang, maka Anda sudah mendeteksi kebocoran memori. Jika Anda menerima kesalahan yang membaca sesuatu seperti bash: Memori tidak cukup saat melakukan ini dan Anda tidak memiliki apa pun kecuali terminal atau bahkan hanya virtual konsol terbuka, maka Anda hampir tidak diragukan lagi berurusan dengan satu. Beberapa kebocoran memori dapat menjadi sedikit lebih halus, tetapi Ubuntu dan berbagai fitur dan paket fitur spin-off yang dapat membantu Anda mendeteksi ini.

Mendeteksi Kebocoran Memori di Ubuntu

Karena alat yang digunakan untuk mendeteksi kebocoran memori terutama didasarkan pada permintaan CLI, tidak masalah versi Ubuntu yang Anda jalankan. Ini harus bekerja dengan baik di dalam terminal Unity di Ubuntu reguler, dari konsol virtual di Ubuntu Server, dari sebuah lxterm di Lubuntu, Konsole di Kubuntu atau bahkan di dalam Xfce di Xubuntu. Coba lakukan tugas sederhana seperti sudo -s dan ketikkan kata sandi Anda untuk memulai.

Ini harus mendapatkan Anda shell root jika dilakukan dengan benar, tetapi dapat menyebabkan kesalahan memori jika Anda bekerja dengan kebocoran yang sudah terlalu jauh. Jika Anda memang dapat mengakses shell root, coba ketikkan echo 3> / proc / sys / m / drop_caches, tekan tombol enter lalu ketikkan exit. Coba jalankan gratis atau gratis -m lagi untuk melihat apakah itu membantu untuk melepaskan memori.

Beberapa programmer berpendapat bahwa tidak ada gunanya memaksa Kernel untuk menghapus cache-nya, karena mereka harus dibilas dan dengan demikian direklamasi segera setelah tambahan memori fisik diperlukan. Namun, sementara pemadaman paksa cache ini akan merusak kinerja sistem, harap diingat bahwa ini hanyalah sebuah tes. Setelah Anda mem-boot ulang sistem, Kernel Linux harus sekali lagi mengumpulkan cache memori seperti semula.

Beberapa orang menyarankan menambahkan sinkronisasi garis; sudo echo 3> / proc / sys / vm / drop_caches ke skrip yang dijalankan cron secara konsisten, tetapi ini mengalahkan tujuan dari cache memori di tempat pertama. Memori bebas itu sendiri hanyalah RAM yang tidak terpakai, dan itu berarti bahwa data harus dimuat dari elektromekanik yang jauh lebih lambat

Jika Ubuntu memberi Anda kesalahan yang tidak biasa tentang top maka cobalah mengeluarkan top busybox untuk mengakses versi yang lebih sederhana dari program ini. Setelah Anda memiliki daftar, lihat% MEM atau kolom serupa untuk melihat aplikasi mana yang memiliki memori paling banyak. Meskipun Anda dapat mencatat PID dan mengeluarkan perintah kill ke nomor yang tepat dari PID, ini hanya akan memaksa aplikasi untuk menutup. Memori yang mereka gunakan mungkin masih belum dirilis setelah Anda melakukan ini, meskipun tentu saja layak dicoba.

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

Jika Anda menemukan aplikasi yang menggunakan banyak memori, tekan q untuk keluar lalu coba bunuh #### dengan nomor PID dari layar sebelumnya. Proses sistem tidak boleh terbunuh dengan cara ini, dan tidak akan ada sesuatu yang Anda belum disimpan. Pikirkan hal ini sama dengan membunuh sesuatu dengan daftar tugas Ctrl + Alt + Del, yang juga dapat Anda gunakan untuk proses yang sama ini.

Ketika Anda menemukan program yang secara konsisten terjadi, Anda dapat mengkonfigurasinya untuk mencegah perilaku di masa depan. Setiap program individu, tentu saja, akan membutuhkan cara yang berbeda, yang berada di luar tugas hanya mendeteksi kebocoran memori.

Jika Anda tidak hanya memecahkan masalah aplikasi, tetapi juga benar-benar bekerja dengan kode maka ada beberapa sumber daya lain yang Anda miliki. Ubuntu dan turunannya menawarkan Anda membarrier, memusage dan memusagestat rutin C untuk pemrograman.

Cukup gunakan man membarrier, man memusage atau man memusagestat untuk melihat halaman Manual Programmer Linux pada rutinitas penting ini. Jika ada pemutakhiran di versi masa depan dari pustaka sebagai versi baru dari Ubuntu keluar, maka perubahan akan selalu diuraikan di sini.

Jika Anda membutuhkan konten grafis, maka memusagestat bahkan menawarkan opsi untuk menyimpan representasi grafis dari penggunaan memori ke file PNG. Ini membuatnya menjadi fitur yang menarik bagi penulis utilitas juga, karena dapat digunakan untuk membuat aplikasi yang secara teratur memeriksa kebocoran memori.

Anda juga mungkin ingin menginstal memprof, yang merupakan alat untuk mem-profil penggunaan memori untuk membantu Anda menemukan kebocoran memori. Ini menghasilkan profil mengenai berapa banyak memori setiap fungsi dalam program yang Anda tulis mengalokasikan. Ini juga dapat memindai memori yang ada untuk menemukan blok, yang telah dialokasikan, tetapi tidak lagi menampilkan referensi asli. Ini dilakukan dengan pre-loading library untuk mengesampingkan fitur alokasi memori C perpustakaan standar.

Jika Anda berencana untuk menggunakan ini, maka pastikan untuk menghapus garis include memprof dari awal kode Anda sebelum melepaskannya. Ini digunakan untuk memastikan Anda tidak memiliki kebocoran, tetapi seharusnya tidak menjadi ketergantungan jika Anda mengemas kode Anda dan melepaskannya dalam repositori.

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

Facebook Twitter Google Plus Pinterest