Penyimpanan

Cara menemukan dan memperbaiki Kebocoran Memori di Windows 10

Cara menemukan dan memperbaiki Kebocoran Memori di Windows 10

SEBUAH Kebocoran Memori adalah salah penempatan sumber daya dalam program komputer karena alokasi memori yang salah. Itu terjadi ketika lokasi RAM yang tidak digunakan tetap tidak dirilis. Kebocoran memori tidak sama dengan kebocoran ruang, yang mengacu pada program yang menggunakan lebih banyak RAM daripada yang diperlukan. Kebocoran memori pada sistem Windows 10/8/7 dikatakan terjadi ketika memori tidak dapat diakses meskipun tidak digunakan.

Kebocoran Memori di Windows 10

Sebelum Anda mulai, Anda harus tahu bahwa Kebocoran memori adalah masalah perangkat lunak yang harus di-debug - misalnya di Java, JavaScript, C/C++, Windows, dll. Mengganti RAM atau hard disk secara fisik tidak diperlukan.

Mengapa itu buruk?

Jelas kebocoran memori buruk karena itu adalah bug, cacat dalam sistem. Tapi mari kita cari tahu bagaimana tepatnya hal itu mempengaruhi sistem:

  1. Karena memori tidak dibebaskan bahkan saat tidak digunakan, hal ini mengakibatkan penipisan memori.
  2. Kelelahan memori menyebabkan penuaan perangkat lunak.
  3. Berkurangnya memori yang tersedia menyebabkan peningkatan waktu respons dan kinerja yang buruk oleh sistem.
  4. Kebocoran memori yang tidak dicentang pada akhirnya dapat menyebabkan kerusakan aplikasi.

Untuk mengidentifikasi kebocoran memori, seorang programmer harus memiliki akses ke kode sumber program.

Menemukan kebocoran

Untuk menyelesaikan suatu masalah, kita perlu mengidentifikasinya terlebih dahulu. Langkah-langkah dasar untuk menemukan kebocoran memori adalah:

  1. Afirmasi: Menentukan apakah telah terjadi kebocoran.
  2. Menemukan kebocoran memori mode Kernel: Menemukan kebocoran yang disebabkan oleh komponen driver mode kernel.
  3. Menemukan kebocoran memori mode pengguna: Menemukan kebocoran yang disebabkan oleh driver atau aplikasi mode pengguna.

Alokasi memori

Ada mode berbeda di mana aplikasi mengalokasikan RAM. Jika ruang tidak dibebaskan setelah digunakan, kebocoran memori akan terjadi terlepas dari mode alokasi. Beberapa pola alokasi umum adalah:

  1. Fungsi HealAlloc untuk alokasi memori tumpukan. Setara runtime C/C++ adalah malloc dan baru.
  2. Fungsi VirtualAlloc untuk alokasi langsung dari OS.
  3. API Kernel32 untuk menyimpan memori kernel untuk aplikasi. Contoh, CreateFile, CreateThread.
  4. API User32 dan API Gdi32.

Mencegah kebocoran memori

Kita semua tahu mencegah lebih baik daripada mengobati, jadi inilah beberapa cara untuk mencegah kebocoran memori memory.

Memantau kebiasaan

Anda perlu mengawasi penggunaan RAM yang tidak normal oleh masing-masing program dan aplikasi. Anda dapat pergi ke Windows Task Manager dengan menekan CTRL+SHIFT+ESC dan tambahkan kolom seperti Handles, User Objects, GDI Objects, dll.

Ini akan membantu Anda dengan mudah memantau penggunaan sumber daya.

Baca baca: Apa Jenis Memori di komputer?

Alat Microsoft untuk mendiagnosis kebocoran memori

Berbagai alat mendiagnosis kebocoran memori untuk berbagai mode alokasi:

  1. Pemverifikasi Aplikasi mendiagnosis kebocoran tumpukan.
  2. UMDH (komponen Alat Debugging Windows) mendiagnosis kebocoran untuk masing-masing proses dengan memantau alokasi memori tumpukan.
  3. Jejak Tangkap untuk analisis menyeluruh penggunaan RAM.
  4. Xperf juga melacak pola alokasi tumpukan.
  5. CRT Debug Heap tidak hanya melacak alokasi heap tetapi juga memungkinkan praktik pengkodean untuk meminimalkan kebocoran.
  6. Detektor Kebocoran Memori JavaScript men-debug kebocoran memori dalam kode.

Kiat Penggunaan

  1. Gunakan kernel MENANGANIs dan penunjuk pintar lainnya untuk sumber daya Win32 dan alokasi tumpukan.
  2. Dapatkan kelas untuk manajemen sumber daya otomatis untuk alokasi kernel dari perpustakaan ATL. Standar C++ memiliki auto_ptr untuk alokasi tumpukan.
  3. Enkapsulasi pointer antarmuka COM dalam "pointer pintar" dengan bantuan _com_ptr_t atau _bstr_t atau _varian_t.
  4. Pantau .Kode .NET untuk penggunaan memori yang tidak normal.
  5. Hindari beberapa jalur keluar untuk fungsi agar alokasi dibebaskan dari variabel di sebagian besar blok pada akhir fungsi.
  6. Gunakan pengecualian asli hanya setelah membebaskan semua alokasi di _finally block. Bungkus semua tumpukan dan tangani alokasi menjadi pointer pintar untuk menggunakan pengecualian C++.
  7. Selalu hubungi PropVariantClear fungsi sebelum menginisialisasi ulang atau membuang objek PROPVARIANT.

Memecahkan masalah kebocoran memori di Windows

Sama seperti berbagai cara untuk mencegah kebocoran memori, ada berbagai cara untuk menghentikan kebocoran memori. Tetapi sebelum Anda mulai, ingatlah untuk membuat titik pemulihan sistem terlebih dahulu.

1] Tutup proses dan mulai ulang.

Jika Anda melihat proses yang tidak perlu menghabiskan terlalu banyak RAM, Anda dapat mengakhiri proses di Pengelola Tugas. Anda perlu memulai ulang perangkat agar ruang kosong tersedia untuk digunakan oleh proses lain. Tanpa Restart masalah kebocoran memori tidak akan terpecahkan. Salah satu proses tertentu yang memiliki bug untuk memperlambat PC adalah Runtime Broker. Coba jika menonaktifkan itu saja berfungsi.

2] Alat Diagnostik Memori

Untuk mengakses Alat Diagnostik Memori bawaan untuk Windows:

  1. Simpan semua pekerjaan penting Anda.
  2. tekan Menang + R untuk membuka Lari jendela.
  3. Ketik perintah terjadwal.exe dalam Lari jendela.
  4. Mulai ulang PC.
  5. Setelah memulai ulang, lakukan pemindaian dasar atau pilih 'Maju'pilihan seperti'Campuran uji' atau 'Hitungan lulus'.
  6. tekan F10 untuk memulai tes.

Ini masih perbaikan sementara.

3] Periksa pembaruan Driver

Driver yang kedaluwarsa menyebabkan kebocoran memori. Perbarui semua driver:

  1. tekan Menang + R dan buka Lari jendela. Tipe devmgmt.msc dan tekan Enter. Ini akan membawa Anda ke Pengaturan perangkat.
  2. Periksa driver yang sudah ketinggalan zaman dan perbarui semuanya.
  3. Untuk pembaruan, Anda mungkin melewatkannya, periksa di Pembaruan Windows.

Ini sederhana.

4] Optimalkan kinerja

Menyesuaikan Windows untuk kinerja akan mengatur semuanya termasuk penjadwalan prosesor dan penggunaan memori untuk menghentikan kebocoran memori. Ikuti langkah ini:

  1. Klik kanan pada 'PC ini' dan pilih 'Maju' pengaturan di panel kiri.
  2. Di bawah 'Maju' tab, buka 'Kinerja', diikuti oleh 'Pengaturan'.
  3. Periksa 'Sesuaikan untuk performa terbaik' dan klik baik.
  4. Mulai ulang dan periksa apakah masalah sudah teratasi.

Jika solusi sederhana ini tidak berhasil, coba solusi berikutnya.

5] Nonaktifkan Program yang berjalan di Startup

Menonaktifkan program yang merepotkan adalah satu-satunya cara untuk menghilangkan masalah kebocoran memori. Buka Pengelola Tugas dan nonaktifkan program pembuat masalah. Jika Anda tidak tahu program mana yang menyebabkan masalah, lakukan ini:

  1. Pergi ke 'Pengelola tugas'.
  2. Pergi ke 'Memulai'.
  3. Nonaktifkan program startup yang tidak perlu Anda jalankan secara default.

6] Defrag Hard Drive

Meskipun Windows 10 melakukan ini untuk Anda secara otomatis, Anda mungkin perlu melakukan defrag hard drive sesekali untuk mengoptimalkan kinerja:

  1. Pergi ke 'PC ini' atau 'Komputer saya'.
  2. Klik kanan hard drive sistem (biasanya drive C:).
  3. Pergi ke 'Alat' dibawah 'Properti' dan pilih 'Optimalkan'.
  4. Pilih drive untuk defrag dan pilih 'Menganalisa'.

Restart komputer Anda setelah fragmentasi baru.

7] File ClearPage saat dimatikan

Ini semakin rumit sekarang - tetapi jangan khawatir. Berikut cara menghapus File Halaman di setiap shutdown:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerManajemen Memori

Ini harus dilakukan. Ingatlah bahwa proses shutdown Anda akan memakan waktu lebih lama.

9] Nonaktifkan Superfetch

Layanan Windows ini mengoptimalkan kinerja dengan meminimalkan waktu boot. Ini memungkinkan Windows mengelola penggunaan RAM. Hidup setelah menonaktifkan Superfetch tidak nyaman tetapi lakukan jika Anda harus. Setidaknya coba ini sendiri untuk mengisolasi masalahnya:

  1. Cari jasa.msc dan pergi ke Manajer Layanan.
  2. Mencari 'Superfetch' dan klik kanan untuk pergi ke 'Properti'.
  3. Pilih 'Berhenti'.
  4. Juga 'Nonaktifkan' layanan dari menu tarik-turun.
  5. Nyalakan kembali PC dan periksa apakah kinerjanya telah meningkat.

Aktifkan Superfetch jika yang ini tidak berfungsi.

10] Periksa malware

Gunakan perangkat lunak antivirus pihak ketiga atau Windows Defender internal Windows 10 untuk memindai dan menghilangkan malware. Pastikan antivirus terupdate untuk mendukung OS kamu agar tidak menjadi penyebab memory leak.

Setiap solusi yang mungkin Anda perlukan untuk menemukan atau mencegah kebocoran memori ada di sini. Anda dapat membaca lebih lanjut tentang kebocoran memori di MSDN dan Microsoft.

Tombol klik kiri mouse tidak berfungsi pada Windows 10
Jika Anda menggunakan mouse khusus dengan laptop, atau komputer desktop, tetapi but tombol klik kiri mouse tidak berfungsi pada Windows 10/8/7 untuk b...
Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...
Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...