Rumah  >  Artikel  >  Tutorial sistem  >  Cara menyelesaikan kebocoran memori win11 Analisis punca kebocoran memori win11 dan pelbagai penyelesaian.

Cara menyelesaikan kebocoran memori win11 Analisis punca kebocoran memori win11 dan pelbagai penyelesaian.

PHPz
PHPzke hadapan
2024-02-29 09:58:50756semak imbas

Editor PHP Xiaoxin akan menganalisis masalah kebocoran memori win11 untuk anda. Kebocoran memori mungkin disebabkan oleh pelbagai sebab, seperti pepijat program, sumber yang belum dikeluarkan, dsb. Penyelesaian termasuk mengemas kini patch sistem, menutup program yang mungkin menyebabkan kebocoran memori, menggunakan alat pengurusan memori, dsb. Dengan menganalisis punca dan mengambil langkah yang berkesan, anda boleh menyelesaikan masalah kebocoran memori win11 dengan berkesan dan meningkatkan prestasi dan kestabilan sistem.

Punca kebocoran ingatan:

Kebocoran memori disebabkan oleh salah jajaran sumber dalam atur cara komputer akibat peruntukan memori yang salah. Ini berlaku apabila lokasi RAM yang tidak digunakan masih tidak dibebaskan. Jangan kelirukan kebocoran memori dengan kebocoran ruang atau penggunaan memori yang tinggi, iaitu apabila program menggunakan lebih banyak RAM daripada yang diperlukan. Kebocoran memori pada sistem Windows 11/10/8/7 dikatakan berlaku apabila memori tidak digunakan tetapi tidak boleh diakses.

Mengapa kebocoran memori adalah buruk:

Kebocoran memori adalah buruk kerana ia adalah pepijat, kecacatan dalam sistem pengendalian atau perisian. Tetapi mari kita lihat bagaimana sebenarnya ia mempengaruhi sistem:

  • Ini membawa kepada keletihan ingatan kerana ingatan tidak dikeluarkan walaupun ia tidak digunakan.
  • Memori yang letih menyebabkan perisian menjadi tua.
  • Mengurangkan memori yang tersedia menghasilkan masa tindak balas yang meningkat dan prestasi sistem yang berkurangan.
  • Kebocoran memori yang tidak disemak akhirnya boleh menyebabkan aplikasi ranap.

Untuk mengenal pasti kebocoran memori, pengaturcara memerlukan akses kepada kod sumber program.

Cara mengesan kebocoran memori

Untuk menyelesaikan masalah, kita perlu mengenal pastinya terlebih dahulu. Langkah asas untuk mengesan kebocoran memori ialah:

  • Pengesahan : Tentukan sama ada kebocoran telah berlaku.
  • Cari kebocoran memori mod kernel: Cari kebocoran yang disebabkan oleh komponen pemacu mod kernel.
  • Cari kebocoran memori mod pengguna: Cari kebocoran yang disebabkan oleh pemacu atau aplikasi mod pengguna.

Cara peruntukan memori berlaku

Terdapat mod berbeza untuk aplikasi memperuntukkan RAM. Jika ruang tidak dikeluarkan selepas digunakan, kebocoran memori boleh berlaku tanpa mengira mod peruntukan. Beberapa corak peruntukan biasa ialah:

  • Fungsi HealAlloc digunakan untuk peruntukan memori timbunan. Setara masa jalan C/C++ adalah malloc dan baharu.
  • Fungsi VirtualAlloc untuk peruntukan terus daripada sistem pengendalian.
  • Kernel32 API untuk menyimpan memori kernel aplikasi. Contohnya, CreateFile, CreateThread.
  • API Pengguna32 dan API Gdi32.

Cara Mencegah Kebocoran Memori dalam Windows

Kita semua tahu bahawa mencegah adalah lebih baik daripada mengubati, jadi pemantauan sistem anda adalah sangat penting.

Anda perlu memberi perhatian sama ada pelbagai program dan aplikasi menggunakan RAM secara tidak normal. Anda boleh pergi ke Windows Task Manager dengan menekan CTRL+SHIFT+ESC dan tambah lajur untuk pemegang, objek pengguna, objek GDI, dsb.

Ini akan membantu anda memantau penggunaan sumber dengan mudah.

Alat Microsoft untuk mendiagnosis kebocoran memori

Pelbagai alat untuk mendiagnosis kebocoran memori dalam pelbagai corak peruntukan:

  • Pengesah Aplikasi mendiagnosis kebocoran timbunan.
  • UMDH (komponen Alat Nyahpepijat untuk Windows) menganalisis kebocoran dalam proses individu dengan memantau peruntukan memori timbunan.
  • Trace Capture untuk analisis menyeluruh penggunaan RAM.
  • Xperf juga menjejaki corak peruntukan timbunan.
  • CRT Debug Heap bukan sahaja menjejaki peruntukan timbunan tetapi juga membolehkan amalan pengekodan untuk meminimumkan kebocoran.
  • JavaScript Memory Leak Detector memori nyahpepijat kebocoran dalam kod anda.

Petua Penggunaan

  • Gunakan kernel HANDLE dan petunjuk pintar lain untuk sumber Win32 dan peruntukan timbunan.
  • Dapatkan kelas pengurusan sumber automatik untuk peruntukan kernel daripada perpustakaan ATL. Piawaian C++ mempunyai auto_ptr untuk peruntukan timbunan.
  • Enkapsulasi penuding antara muka COM dalam "penunjuk pintar" dengan bantuan _com_ptr_t atau _bstr_t atau _variant_t.
  • Pantau kod .NET anda untuk penggunaan memori yang luar biasa.
  • Elakkan berbilang laluan keluar daripada fungsi agar peruntukan dibebaskan daripada pembolehubah dalam kebanyakan blok apabila fungsi tamat.
  • Gunakan pengecualian asli hanya selepas membebaskan semua peruntukan dalam blok _finally. Balut semua timbunan dan kendalikan peruntukan ke dalam petunjuk pintar untuk digunakan dengan pengecualian C++.
  • Sentiasa panggil fungsi PropVariantClear sebelum memulakan semula atau membuang objek PROPVARIANT.

Cara Membetulkan Kebocoran Memori dalam Windows 11/10

Sama seperti pelbagai cara untuk mengelakkan kebocoran memori, terdapat juga pelbagai cara untuk menghentikan kebocoran memori. Tetapi sebelum anda mula, ingat untuk mencipta titik pemulihan sistem terlebih dahulu.

1] Tutup proses dan mulakan semula

Jika anda melihat proses yang tidak perlu mengambil terlalu banyak RAM, anda boleh menamatkan proses itu dalam Pengurus Tugas. Anda perlu but semula peranti supaya ruang yang dikosongkan boleh digunakan oleh proses lain. Masalah kebocoran memori tidak akan diselesaikan tanpa dimulakan semula. Runtime Broker ialah proses yang diketahui memperlahankan PC anda. Lihat jika melumpuhkan itu sahaja berfungsi.

2] Alat Diagnostik Memori

Untuk mengakses alat diagnostik memori terbina dalam untuk Windows:

  • Simpan semua kerja penting anda.
  • Tekan Win + R untuk membuka tetingkap Run.
  • Taip arahan mdsched.exe dalam tetingkap Run.
  • Mulakan semula komputer anda.
  • Selepas dimulakan semula, lakukan imbasan asas atau pilih pilihan "lanjutan" seperti "Gabungan Ujian" atau "Kiraan Lulus".
  • Tekan F10 untuk mula menguji.

Ini masih pembaikan sementara.

3] Semak kemas kini pemandu

Pemandu lapuk boleh menyebabkan kebocoran memori. Pastikan semua pemandu dikemas kini. Ikuti salah satu kaedah berikut untuk mengemas kini pemacu peranti anda:

  • Anda boleh menyemak kemas kini pemacu melalui Kemas Kini Pilihan Windows untuk mengemas kini pemacu anda
  • Anda boleh melawati tapak web pengilang untuk memuat turun pemacu.
  • Gunakan perisian kemas kini pemacu percuma
  • Jika anda sudah mempunyai fail pemacu INF pada komputer anda:
    • Buka Pengurus Peranti.
    • Klik pada kategori pemandu untuk mengembangkan menu.
    • Kemudian pilih pemacu yang berkaitan dan klik kanan padanya.
    • Pilih untuk mengemas kini pemandu.
    • Ikuti wizard pada skrin untuk melengkapkan kemas kini pemacu audio.

Mengemas kini sistem pengendalian anda dan atur cara yang dipasang serta apl Microsoft Store juga boleh membantu.

4] Optimumkan Prestasi

Mengubah prestasi Windows akan menguruskan segala-galanya termasuk penjadualan pemproses dan penggunaan memori untuk menghentikan kebocoran memori. Ikuti langkah berikut:

  • Klik kanan "PC ini" dan pilih tetapan "Terperinci" dalam anak tetingkap kiri.
  • Di bawah tab Lanjutan, pergi ke Prestasi, kemudian Tetapan.
  • Tandakan "Laraskan untuk prestasi terbaik" dan klik "OK".
  • Mulakan semula dan semak sama ada masalah telah diselesaikan.

Jika penyelesaian mudah ini tidak berkesan, cuba yang seterusnya.

5] Lumpuhkan program yang dijalankan semasa permulaan

Melumpuhkan program yang menyusahkan adalah satu-satunya cara untuk menghilangkan masalah kebocoran memori. Pergi ke Pengurus Tugas dan lumpuhkan program yang menyusahkan. Jika anda tidak tahu program mana yang menyebabkan masalah, lakukan perkara berikut:

  • Pergi ke Pengurus Tugas.
  • Pergi ke Startup.
  • Lumpuhkan program permulaan yang tidak perlu dijalankan secara lalai. .
Klik kanan pada pemacu keras sistem anda (biasanya pemacu C:).

Pergi ke "Alat" di bawah "Properties" dan pilih "Optimumkan".

Pilih pemacu yang ingin anda defragment dan pilih "Analyze".
  • Mulakan semula komputer anda selepas pemecahan baharu.
  • 7] Kosongkan fail halaman semasa ditutup
  • Ia semakin rumit hari ini – tetapi jangan risau. Begini cara mengosongkan fail halaman setiap kali anda menutup:
Taip regedit dalam carian untuk melancarkan Editor Pendaftaran.

Masukkan laluan ini:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager内存管理

Tukar nilai ClearPageFileAtShutDown kepada "1".
  • Simpan perubahan dan mulakan semula peranti anda.
  • Ia harus dilakukan. Perlu diingat bahawa proses penutupan anda akan mengambil lebih banyak masa.
    9]Lumpuhkan Super Fetch
  • Perkhidmatan Windows ini mengoptimumkan prestasi dengan meminimumkan masa permulaan. Ia membolehkan Windows menguruskan penggunaan RAM. Kehidupan dengan Superfetch dilumpuhkan adalah menyusahkan, tetapi lakukan jika perlu. Sekurang-kurangnya cuba ini sahaja untuk mengasingkan masalah:
Cari services.msc dan pergi ke Pengurus Perkhidmatan.

Cari "Superfetch" dan klik kanan padanya untuk pergi ke "Properties".

Pilih "Berhenti".

Perkhidmatan ini juga boleh "dilumpuhkan" dari menu lungsur.
  • Mulakan semula PC anda dan semak sama ada prestasi bertambah baik.
  • Jika ini tidak berjaya, dayakan Superfetch.
  • 10] Semak perisian hasad
  • Gunakan perisian antivirus pihak ketiga atau Microsoft Defender yang disertakan dengan Windows untuk mengimbas dan mengalih keluar perisian hasad. Pastikan anda mengemas kini perisian antivirus anda untuk menyokong sistem pengendalian anda supaya ia tidak menjadi punca kebocoran memori.
  • 11] Ubah suai tetapan

1 Klik "Mula" dalam bar tugas di sudut kiri bawah, dan masukkan "Panel Kawalan" dalam kotak carian di atas untuk membukanya.

2. Selepas memasuki antara muka baharu, tukar "Lihat Oleh" di penjuru kanan sebelah atas kepada "Ikon Besar", dan kemudian klik "Pilihan Kuasa".

3 Kemudian klik "Pilih perkara yang dilakukan oleh butang kuasa" di lajur kiri. win11内存泄露如何解决 win11内存泄露原因分析和多种解决办法

win11内存泄露如何解决 win11内存泄露原因分析和多种解决办法

4 Kemudian klik "Tukar tetapan yang tidak tersedia pada masa ini" di atas.

win11内存泄露如何解决 win11内存泄露原因分析和多种解决办法

5 Akhir sekali, cari "Dayakan Permulaan Pantas", nyahtanda kotak kecil, dan klik Simpan Perubahan.

win11内存泄露如何解决 win11内存泄露原因分析和多种解决办法

12] Ubah suai tetapan

1. Ia juga mungkin kebocoran memori yang disebabkan oleh pemacu kad grafik.

2 Anda boleh memilih versi lama pemacu untuk dimuat turun dan dipasang dari laman web rasmi Intel.

Atas ialah kandungan terperinci Cara menyelesaikan kebocoran memori win11 Analisis punca kebocoran memori win11 dan pelbagai penyelesaian.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:jb51.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam