Temukan dan perbaiki Kebocoran Memori di Windows 11/10
Kebocoran Memori(Memory Leak) 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 11/10/8/7 dikatakan terjadi ketika memori tidak dapat diakses meskipun tidak digunakan.
Kebocoran Memori di Windows 11/10
Sebelum Anda mulai, Anda harus tahu bahwa kebocoran Memori(Memory) adalah masalah perangkat lunak untuk 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 memengaruhi sistem:
- Karena memori tidak dibebaskan bahkan saat tidak digunakan, hal ini mengakibatkan penipisan memori.
- Kehabisan memori menyebabkan penuaan perangkat lunak.
- Berkurangnya memori yang tersedia menyebabkan peningkatan waktu respons dan kinerja sistem yang buruk.
- Kebocoran memori yang tidak dicentang pada akhirnya dapat menyebabkan crash aplikasi.
Untuk mengidentifikasi kebocoran memori, seorang programmer harus memiliki akses ke kode sumber program.
Menemukan kebocoran
Untuk memecahkan suatu masalah, kita perlu mengidentifikasinya terlebih dahulu. Langkah-langkah dasar untuk menemukan kebocoran memori adalah:
- Afirmasi(Affirmation) : Menentukan apakah telah terjadi kebocoran.
- Menemukan kebocoran memori mode kernel(Finding Kernel-mode memory leak) : Menemukan kebocoran yang disebabkan oleh komponen driver mode kernel.
- Menemukan kebocoran memori mode pengguna(Finding User-mode memory leak) : Menemukan kebocoran yang disebabkan oleh driver atau aplikasi mode pengguna.
Alokasi memori
Ada mode yang 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:
- Fungsi HealAlloc(HealAlloc) untuk alokasi memori tumpukan. Setara runtime C/C++ adalah malloc dan baru.
- Fungsi VirtualAlloc(VirtualAlloc) untuk alokasi langsung dari OS.
- Kernel32 API(Kernel32 APIs) untuk menyimpan memori kernel untuk aplikasi. Contoh(Example) , CreateFile , CreateThread .
- API User32 dan API Gdi32.
Cegah kebocoran memori di Windows
Kita semua tahu mencegah lebih baik daripada mengobati jadi berikut adalah beberapa cara untuk mencegah kebocoran memori.
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 menambahkan kolom seperti Handles , User Objects , GDI Objects , dll.
Ini akan membantu Anda dengan mudah memantau penggunaan sumber daya.
Baca(Read) : Apa Saja Jenis-Jenis Memori pada Komputer?(What are the Types of Memory in a computer?)
Alat Microsoft(Microsoft) untuk mendiagnosis kebocoran memori
Berbagai alat mendiagnosis kebocoran memori untuk berbagai mode alokasi:
- Pemverifikasi Aplikasi(Application Verifier) mendiagnosis kebocoran tumpukan.
- UMDH (komponen Alat Debugging Windows(Windows Debugging Tools) ) mendiagnosis kebocoran untuk masing-masing proses dengan memantau alokasi memori tumpukan.
- Trace Capture untuk analisis menyeluruh penggunaan RAM .
- Xperf juga melacak pola alokasi tumpukan.
- CRT Debug Heap tidak hanya melacak alokasi heap tetapi juga memungkinkan praktik pengkodean untuk meminimalkan kebocoran.
- Detektor Kebocoran Memori JavaScript men(JavaScript Memory Leak Detector) -debug kebocoran memori dalam kode.
Tip penggunaan
- Gunakan kernel HANDLE s dan penunjuk pintar lainnya untuk sumber daya Win32 dan alokasi tumpukan.
- Dapatkan(Get) kelas untuk manajemen sumber daya otomatis untuk alokasi kernel dari perpustakaan ATL . Standar C++ memiliki auto_ptr untuk alokasi heap.
- Enkapsulasi(Encapsulate COM) pointer antarmuka COM dalam "pointer pintar" dengan bantuan _com_ptr_t atau _bstr_t atau _variant_t .
- Pantau(Monitor) kode .NET untuk penggunaan memori yang tidak normal.
- Hindari(Avoid) beberapa jalur keluar untuk fungsi agar alokasi dibebaskan dari variabel di sebagian besar blok pada akhir fungsi.
- Gunakan(Use) pengecualian asli hanya setelah membebaskan semua alokasi di blok _finally . Bungkus(Wrap) semua tumpukan dan tangani alokasi ke dalam smart pointer untuk menggunakan pengecualian C++.
- Selalu panggil fungsi PropVariantClear sebelum menginisialisasi ulang atau membuang objek PROPVARIANT .
Memecahkan masalah(Troubleshoot) 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 Task Manager . Anda harus 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(Memory Diagnostic Tool) untuk Windows:
- Simpan semua pekerjaan penting Anda.
- Tekan Win + R untuk membuka jendela Run .
- Ketik perintah mdsched.exe di jendela Run .
- Mulai ulang PC.
- Setelah memulai ulang, lakukan pemindaian dasar atau pilih opsi ' Lanjutan(Advanced) ' seperti ' Campuran uji(Test mix) ' atau ' Hitungan lulus(Pass count) '.
- Tekan F10 untuk memulai tes.
Ini masih perbaikan sementara.
3] Periksa pembaruan Driver
Driver yang kedaluwarsa menyebabkan kebocoran memori. Perbarui semua driver :
- Tekan Win + R dan buka jendela Run . Ketik devmgmt.msc dan tekan Enter . Ini akan membawa Anda ke Pengelola Perangkat(Device Manager) .
- Periksa(Check) driver yang sudah ketinggalan zaman dan perbarui semuanya.
- Untuk pembaruan, Anda mungkin melewatkannya, periksa di Pembaruan Windows(Windows Update) .
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:
- Klik kanan pada ' PC Ini(This PC) ' dan pilih pengaturan ' Lanjutan(Advanced) ' di panel kiri.
- Di bawah tab ' Lanjutan ', buka ' (Advanced)Kinerja(Performance) ', diikuti oleh ' Pengaturan(Settings) '.
- Centang ' Adjust for best performance ' dan klik OK .
- Mulai ulang(Restart) dan periksa apakah masalah sudah teratasi.
Jika solusi sederhana ini tidak berhasil, coba solusi berikutnya.
5] Nonaktifkan Program(Programs) yang berjalan di Startup
Menonaktifkan program yang merepotkan adalah satu-satunya cara untuk menghilangkan masalah kebocoran memori. Buka Pengelola Tugas(Task Manager) dan nonaktifkan program pembuat masalah. Jika Anda tidak tahu program mana yang menyebabkan masalah, lakukan ini:
- Buka ' Pengelola Tugas(Task Manager) '.
- Pergi ke ' Mulai(Startup) '.
- Nonaktifkan program startup yang(Disable the startup programs) 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:
- Buka ' PC Ini(This PC) ' atau ' Komputer Saya(My Computer) '.
- Klik kanan(Right-Click) hard drive sistem (biasanya drive C:).
- Buka ' Alat(Tools) ' di bawah ' Properti(Properties) ' dan pilih ' Optimalkan(Optimize) '.
- Pilih drive yang akan didefrag dan pilih ' Analisis(Analyze) '.
Restart komputer Anda setelah fragmentasi baru.
7] ClearPage File saat dimatikan
Hal ini semakin kompleks sekarang - tapi jangan khawatir. Berikut cara menghapus File Halaman di setiap shutdown(clear the Page File at every shutdown) :
- Ketik regedit pada Pencarian(Search) untuk meluncurkan Editor Registri(Registry Editor) .
- Masukkan jalur ini:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
- Ubah nilai ClearPageFileAtShutDown menjadi '1'.( ClearPageFileAtShutDown to ‘1’.)
- Simpan perubahan dan Nyalakan ulang(Restart) perangkat.
Ini harus melakukannya. Ingatlah bahwa proses shutdown Anda akan memakan waktu lebih lama.
9] Nonaktifkan Superfetch
Layanan Windows(Windows Service) ini mengoptimalkan kinerja dengan meminimalkan waktu boot. Ini memungkinkan Windows mengelola penggunaan RAM . Hidup(Life) setelah menonaktifkan Superfetch tidak nyaman tetapi lakukan jika Anda harus. Setidaknya coba ini sendiri untuk mengisolasi masalahnya:
- Cari services.msc dan buka Manajer Layanan.
- Cari ' Superfetch ' dan klik kanan untuk membuka ' Properties '.
- Pilih ' Berhenti(Stop) '.
- Juga ' Nonaktifkan(Disable) ' layanan dari menu tarik-turun.
- 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(Make) antivirus terupdate untuk mendukung OS Anda agar tidak menjadi penyebab kebocoran memori.
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 .
Related posts
Cara membuka dan membaca file Small Memory Dump (DMP) di Windows 10
Cara menjalankan Windows Memory Diagnostics Tool di Windows 11/10
Cara Meningkatkan Page File size atau Memori Virtual di Windows 10
Cara manual membuat Crash Dump file di Windows 10
Explorer.exe High Memory or CPU usage di Windows 10
Cara Menggunakan Charmap and Eudcedit Alat Built-in Windows 10
Aktifkan Network Connections saat di Modern Standby pada Windows 10
Fix Microsoft Edge High Memory Usage di Windows 10
Cara Menggunakan Alarms and Clocks app dari Windows 10
Cara menukar drive hard disk di Windows 10 dengan Hot Swap
Apa itu PLS file? Bagaimana cara membuat PLS file di Windows 11/10?
Cara Meningkatkan Dedicated Video RAM di Windows 11/10
Aktifkan atau Nonaktifkan Core Isolation and Memory Integrity di Windows 10
Best Gratis Timetable software untuk Windows 11/10
CPU tidak berjalan pada speed or capacity penuh di Windows 11/10
Cara Menambahkan Trusted Site di Windows 10
Adjust Monitor Anda untuk screen resolution di Windows 10
Cara Memeriksa Shutdown and Startup Log di Windows 10
Cara untuk memperbaiki 100% Disk, High CPU, High Memory usage di Windows 10
Fix Bluetooth Penundaan Suara di Windows 10