Windows 10/8/7'de Bellek Sızıntılarını Nasıl Bulunur ve Düzeltilir?

Windows 10/8/7'de Bellek Sızıntılarını Nasıl Bulunur ve Düzeltilir?

Merhaba Arkadaşlar ;



Bir bellek sızıntısı nedeniyle hatalı bellek tahsisi için bir bilgisayar programında kaynağın bir yanlış yerleşim olduğunu. Kullanılmayan bir RAM konumu yayınlanmamış olarak kalırsa olur. Bir bellek sızıntısı, gerekenden daha fazla RAM kullanan bir programa atıfta bulunan bir boşluk sızıntısı ile karıştırılmamalıdır. Windows 10/8/7 sisteminde bellek sızıntısının, kullanılmadığı halde bellek erişilemediğinde gerçekleştiği söylenir.

Windows 10'da Bellek Sızıntıları


Başlamadan önce Bellek sızıntısının hata ayıklamak için bir yazılım sorunu olduğunu bilmelisiniz - örneğin Java, JavaScript, C / C ++, Windows vb. Fiziksel olarak RAM veya sabit diski değiştirmek gerekli değildir.



Bir bellek sızıntısının kötü olduğu, çünkü bu bir hata, sistemdeki bir kusur. Ancak sistemi tam olarak nasıl etkilediğini öğrenelim:

* Bellek, kullanılmadığı zamanlarda bile serbest bırakılmadığından, bellek tükenmesine yol açar.
* Belleğin tükenmesi yazılım yaşlanmasına neden olur.
* Kullanılabilir hafızanın azaltılması, tepki süresinin uzamasına ve sistemin performansının düşmesine neden olur.

* Denetlenmeyen bellek sızıntısı sonunda bir uygulamanın çökmesine neden olabilir.

Bir bellek sızıntısını belirlemek için programcının programın kaynak koduna erişmesi gerekir.

Sızıntıyı Bulmak için


Bir sorunu çözmek için öncelikle onu tanımlamamız gerekir. Bir bellek sızıntısı bulmak için temel adımları şunlardır:

* AÇIKLAMA : Sızıntının oluşup oluşmadığının belirlenmesi.
* Çekirdek modu bellek sızıntısı bulma: Çekirdek modu sürücüsü bileşeninin neden olduğu bir sızıntıyı bulma .

* Kullanıcı modu bellek sızıntısı bulma: Kullanıcı modu sürücüsü veya uygulamanın neden olduğu sızıntıyı bulma .

Bellek Ayırma için

Uygulamaların RAM'i ayırdığı farklı modlar vardır. Boşluk kullanımdan sonra serbest bırakılmazsa, bellek sızıntısı tahsis modundan bağımsız olarak gerçekleşir. Bazı ortak paylaşım modelleri şunlardır:

Yığın bellek ayırma için HealAlloc işlevi. C / C ++ çalışma zamanı karşılıkları malloc ve yeni.
OS'den doğrudan tahsisat için VirtualAlloc işlevi.
Kernel32 API'leri, uygulama için çekirdek bellek tutmak için. Örnek, CreateFile, CreateThread.

Kullanıcı32 API'leri ve Gdi32 API'leri.

Bellek Sızıntılarını önlemek için

Önleme, iyileştirmeden daha iyi olduğunu biliyoruz, burada bir bellek sızıntısını önlemenin bazı yolları vardır.


İzleme Alışkanlıkları


Bireysel programlar ve uygulamalar tarafından anormal RAM kullanımı için göz kulak olmalısınız. CTRL + ÜSTKRKT + ESC tuşlarına basarak Windows Görev Yöneticisi'ne gidebilir ve Kollar, Kullanıcı Nesneleri, GDI Nesneleri vb. Gibi sütunları ekleyebilirsiniz.


Bu, kaynak kullanımını kolayca izlemenize yardımcı olacaktır.

Bellek sızıntılarını teşhis eden Microsoft araçları

Çeşitli araçlar, çeşitli ayırma modları için bellek sızıntılarını teşhis eder:

Application Verifier, yığın sızıntılarını teşhis eder.
UMDH (Windows Hata Ayıklama Araçları'nın bir bileşeni), yığın bellek ayırmalarını izleyerek ayrı işlemler için sızıntıları tanımlar.
Trace Capture, RAM kullanımının kapsamlı bir analizi için.
Xperf de yığın ayırma modellerini izler.
CRT Debug Heap yalnızca yığın ayırmalarını izlemekle kalmaz, aynı zamanda sızıntıları en aza indirgemek için kodlama uygulamalarını etkinleştirir.

JavaScript Bellek Sızıntısı Dedektörü, kod kaçak bellek sızıntıları.

Kullanım İpuçları

Çekirdek İŞLEMLERİNİ ve diğer akıllı işaretçileri Win32 kaynakları ve yığın ayırmaları için kullanın.
Çekirdek tahsisi için ATL kitaplığından otomatik kaynak yönetimi için sınıflar edinin. C ++ standardında yığın ayırmaları için auto_ptr vardır .
Yardımıyla “akıllı işaretçiler” dahilinde COM arabirimi işaretçisi Encapsulate _com_ptr_t veya _bstr_t veya _variant_t .
Anormal bellek kullanımı için .NET kodunu izleyin.
Fonksiyonların sonuna kadar birçok blokta değişkenlerden serbest bırakılmalarını sağlamak için fonksiyonlar için birden fazla çıkış yolu kullanmaktan kaçının.
Yerel istisnaları yalnızca _finally bloğundaki tüm ayırmaları boşalttıktan sonra kullanın. C + + istisnaları kullanmak için tüm öbek ve tutamakları akıllı işaretçilere sarın.

PROVVARIANT nesnesini yeniden başlatmadan veya atmadan önce daima PropVariantClear işlevini çağırın.

Windows'da Bellek Sızıntılarını Giderme

Bellek sızıntılarını önlemenin çeşitli yolları gibi, bellek sızıntılarını Durdurmanın Çeşitli Yolları vardır.

1. İşlemleri kapatın ve yeniden başlatın.

Gereksiz bir işlemin RAM'ten fazla yüklenildiğini görürseniz, işlemi Görev Yöneticisi'nde sonlandırabilirsiniz. Boş alanın diğer işlemler tarafından kullanılabilmesi için cihazı yeniden başlatmanız gerekir. Yeniden başlatma olmadan bellek sızıntısı sorunu çözülmez. Bilgisayarı yavaşlatmak için hatalar içeren belirli bir süreç Runtime Broker'tır. Tek başına bunu devre dışı bırakıp çalışmadığınızı deneyin.


2. Bellek Tanılama Araçları


Windows için dahili Bellek Tanı Aracı'na erişmek için :

Önemli işlerinizi kurtarın.
Çalıştır penceresini açmak için Win + R tuşlarına basın .
Komut yazın mdsched.exe içinde Çalıştır penceresine.
Bilgisayarı yeniden başlatın.
Yeniden başlattıktan sonra, temel tarama yapın veya ' Test karışımı ' veya ' Geçiş sayısı ' gibi ' Gelişmiş ' seçeneklerine gidin .

Testi başlatmak için F10 tuşuna basın .


3. Sürücü Güncellemelerini Kontrol Edin



Eski sürücüler bellek sızıntılarına neden oluyor. Tüm sürücüleri güncel tutun :

Win + R'ye basın ve Çalıştır penceresini açın . Tip devmgmt.msc ve Enter'a basın. Sizi Aygıt Yöneticisine götürür .
Eski sürücüleri kontrol edin ve hepsini güncelleyin.

Cevapsız olabilecek güncellemeler için Windows Update'i kontrol edin.

4. Performansı Optimize Edin



Windows'u performans için ayarlamak , bellek sızıntılarını durdurmak için işlemci zamanlaması ve bellek kullanımı da dahil olmak üzere her şeyi yönetir. Bu adımları takip et:

* ' Bu bilgisayar'a sağ tıklayın ve sol bölmedeki ' Gelişmiş 'ayarları seçin .
* ' Gelişmiş ' sekmesinde ' Performans ' bölümüne gidip ' Ayarlar ' bölümüne gidin .
* 'Kontrol en iyi performans için ayarla ' yi ve Tamam .

* Yeniden başlatın ve sorunun çözülüp çözülmediğini kontrol edin.

5. Başlangıçta Çalışan Programları Devre Dışı Bırak


Zahmetli programların devre dışı bırakılması, bellek sızıntısı sorunundan kurtulmanın tek yoludur. Görev Yöneticisi'ne gidin ve Sorun Giderme programını devre dışı bırakın. Hangi programları sorun yarattığını bilmiyorsanız şunu yapın:

* ' Görev Yöneticisi'ne gidin .
* ' Başlangıç'a git .

* Varsayılan olarak çalıştırmanız gereken başlatma programlarını devre dışı bırakın .

6. Defrag Sabit Disk


Windows 10 otomatik olarak sizin yerinize yaparsa da performansı en iyi duruma getirmek için zaman zaman sabit diskleri dolandırmanız gerekebilir :

* ' Bu bilgisayar'a ' veya ' Bilgisayarım'a gidin .
* Sistem sabit diskini sağ tıklayın (genellikle C: sürücüsü).
* ' Özellikler ' altındaki ' Araçlar ' bölümüne gidip ' Optimize et'i seçin .
* Birleştirmek için sürücüyü seçin ve ' Analiz Et ' seçeneğini belirleyin .


Yeni parçalanma sonrasında bilgisayarınızı yeniden başlatın.

7. Kapatma sırasındaki ClearPage Dosyası

Artık karmaşıklaşıyor - ama merak etme. Her kapatma işleminde Sayfa Dosyasını nasıl temizleyeceğiniz aşağıda açıklanmıştır :

* Tip regedit Search Kayıt Defteri Düzenleyicisi'ni başlatmak için.
* Bu yolu girin: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession  ManagerMemory Yönetimi
* ClearPageFileAtShutDown değerini '1' olarak değiştirin.
* Değişiklikleri kaydedin ve cihazı yeniden başlatın.

8.  Superfetch'i Devre Dışı Bırakma

Bu Windows hizmeti, önyükleme süresini en aza indirgeyerek performansı en iyi duruma getirir. Windows'un RAM kullanımını yönetmesine izin verir. Superfetch'i devre dışı bıraktıktan sonra hayat uygun değildir, ancak gerekirse yapın. En azından bunu sorunu özmek için tek başınıza deneyin:

* Arama services.msc ve Hizmetler Yöneticisi'ne gidin.
* ' Superfetch ' i arayın ve ' Özellikler ' bölümüne gitmek için sağ tıklayın .
* ' Durdur'u seçin .
* Ayrıca hizmeti açılır menüden 'devre dışı bırak '.

* Bilgisayarı yeniden başlatın ve performansın iyileşip gelişmediğini kontrol edin.

9. Kötü amaçlı yazılım olup olmadığını kontrol edin

Kötü amaçlı yazılımı taramak ve ortadan kaldırmak için bir üçüncü taraf virüsten koruma yazılımı veya Windows 10'un şirkette bulunan Windows Defender'ı kullanın. Virüsten koruma programının işletim sisteminizi destekleyecek şekilde güncellendiğinden emin olun, böylece bellek sızıntısının nedeni haline gelmez.


Bütün işlemler bu kadar Herkese Kolay Gelsin.

About the author

Serkan Gündoğdu
Bilgisayar ve Yazılım Programları Hakkında En Güncel Bilgiler Bu Blog'da Bizi Takip Etmeyi Unutmayın.

Post a Comment

YORUM YAPARAK KATKIDA BULUNABİLİRSİNİZ...