Memory Leak FIX For Windows 10/8/7 [Tutorial]
Inhaltsverzeichnis:
A Speicherverlust ist eine Fehlplatzierung der Ressource in einem Computerprogramm aufgrund einer fehlerhaften Speicherzuweisung. Es passiert, wenn ein nicht genutzter RAM-Speicherort unveröffentlicht bleibt. Ein Speicherleck ist nicht mit einem Speicherleck zu verwechseln, der sich auf ein Programm bezieht, das mehr RAM als nötig benötigt. Ein Speicherleck auf einem Windows 10/8/7-System soll stattgefunden haben, wenn der Speicher trotz Nichtbenutzung nicht erreichbar ist.
Speicherlecks in Windows 10
Bevor Sie damit anfangen, sollten Sie das wissen Speicherleck ist ein Softwareproblem zum Debuggen - beispielsweise in Java, JavaScript, C / C ++, Windows usw. Physikalisch ersetzt man RAM oder Festplatte nicht.
Warum ist es schlecht
Es ist offensichtlich ein Speicher Leck ist schlecht, weil es ein Fehler ist, ein Fehler im System. Aber lasst uns herausfinden, wie genau es das System beeinflusst:
- Da der Speicher nicht freigegeben wird, auch wenn er nicht verwendet wird, führt dies zu einer Speichererschöpfung.
- Erschöpfung des Speichers führt zu alter Software.
- Reduzierter verfügbarer Speicher führt zu erhöhter Reaktionszeit und schlechter Systemleistung.
- Ungeprüfter Speicherleck kann zum Absturz einer Anwendung führen.
Um ein Speicherleck zu erkennen, muss ein Programmierer Zugriff auf den Quellcode von das Programm.
Lokalisieren des Lecks
Um ein Problem zu lösen, müssen wir es zuerst identifizieren. Die grundlegenden Schritte zum Auffinden eines Speicherlecks sind:
- Affirmation : Bestimmen, ob ein Leck aufgetreten ist
- Suchen im Kernel-Modus-Speicherleck : Lokalisieren eines durch eine Kernelmodus-Treiberkomponente verursachten Lecks.
- Speicherleck im Benutzermodus finden : Leck durch Benutzermodustreiber oder App gefunden
Speicherzuweisung
Es gibt verschiedene Modi, in denen Anwendungen RAM zuweisen. Wenn der Speicherplatz nach der Verwendung nicht freigegeben wird, tritt der Speicherverlust unabhängig vom Zuweisungsmodus auf. Einige allgemeine Zuweisungsmuster sind:
- HealAlloc-Funktion für die Heap-Speicherzuweisung. Die C / C ++ - Laufzeitäquivalente sind malloc und neu.
- VirtualAlloc-Funktion für die direkte Zuordnung vom Betriebssystem.
- Kernel32-APIs enthalten Kernelspeicher für die App. Beispiel, CreateFile, CreateThread.
- User32-APIs und Gdi32-APIs.
Verhindern von Speicherlecks
Wir alle wissen, dass Prävention besser ist als Heilung, also hier einige Möglichkeiten, einen Speicherverlust zu verhindern.
Überwachungsgewohnheiten
Sie müssen die abnormale RAM-Auslastung einzelner Programme und Anwendungen im Auge behalten. Sie können den Windows Task-Manager aufrufen, indem Sie STRG + UMSCHALT + ESC drücken und die Spalten Handles, Benutzerobjekte, GDI-Objekte usw. hinzufügen.
Dies hilft Ihnen, die Ressourcennutzung zu überwachen.
Microsoft Tools zur Diagnose von Speicherlecks
Verschiedene Tools diagnostizieren Speicherlecks für verschiedene Zuweisungsmodi:
- Application Verifier diagnostiziert Heap-Leaks.
- UMDH (eine Komponente von Windows Debugging Tools) diagnostiziert Lecks für einzelne Prozesse durch Überwachung von Heap-Speicherzuweisungen.
- Trace Capture für eine gründliche Analyse der RAM-Auslastung.
- Auch Xperf verfolgt Heap-Zuweisungsmuster.
- CRT Debug Heap verfolgt nicht nur Heap-Zuordnungen, sondern ermöglicht auch Programmierpraktiken, Lecks zu minimieren.
- JavaScript Memory Leak Detector debuggt Speicherlecks in Codes.
Verwendungstipps
- Verwenden Sie den Kernel HANDLE s und andere Smartpointer für Win32-Ressourcen und Heapzuweisungen.
- Erhalten Sie Klassen für die automatische Ressourcenverwaltung für Kernelzuordnungen von die ATL-Bibliothek. Der C ++ - Standard hat auto_ptr für Heap-Zuordnungen
- Verkapseln Sie COM-Schnittstellenzeiger innerhalb von "Smartpointern" mit Hilfe von _com_ptr_t oder _bstr_t oder _variant_t .
- Überwachen Sie den.NET-Code auf unnormale Speicherauslastung.
- Vermeiden Sie mehrere Exit-Pfade für Funktionen, um Zuordnungen in den meisten Blöcken bis zum Ende einer Funktion von Variablen zu befreien.
- Verwenden Sie nur native Ausnahmen nachdem alle Zuweisungen im Block _finally freigegeben wurden. Umschließen Sie alle Heap- und Handle-Zuweisungen in intelligente Zeiger, um C ++ - Ausnahmen zu verwenden.
- Rufen Sie immer die Funktion PropVariantClear auf, bevor Sie ein PROPVARIANT -Objekt neu initialisieren oder verwerfen.
Fehlerbehebung bei Speicherverlusten in Windows
Genau wie die verschiedenen Möglichkeiten zum Verhindern von Speicherlecks gibt es verschiedene Möglichkeiten, Speicherlecks zu verhindern
1] Prozesse schließen und neu starten
Wenn Sie sehen, dass ein nicht benötigter Prozess zu viel RAM belegt, können Sie den Prozess im Task-Manager beenden. Sie müssen das Gerät neu starten, damit der freigegebene Speicherplatz für andere Prozesse verfügbar ist. Ohne Neustart wird das Speicherleck nicht behoben. Ein bestimmter Prozess, der Fehler hat, um den PC zu verlangsamen, ist Runtime Broker. Versuchen Sie, ob das Deaktivieren allein funktioniert.
2] Speicherdiagnosetools
So greifen Sie auf das integrierte Speicherdiagnoseprogramm für Windows zu:
- Speichern Sie alle wichtigen Aufgaben.
- Drücken Sie Win + R Öffnen Sie das Fenster Ausführen
- Geben Sie im Fenster Ausführen den Befehl mdsched.exe ein
- Starten Sie den PC neu
- Nach a starten Sie neu, führen Sie einen einfachen Scan durch oder wählen Sie die Optionen Erweitert wie Testmix oder Passzähler .
- Drücken Sie F10 um den Test zu starten
Dies sind immer noch temporäre Fixes.
3] Nach Treiberupdates suchen
Veraltete Treiber verursachen Speicherlecks. Halten Sie alle Treiber auf dem neuesten Stand:
- Drücken Sie Win + R und öffnen Sie das Fenster Run . Geben Sie devmgmt.msc ein und drücken Sie die Eingabetaste. Sie gelangen zum Geräte-Manager .
- Suchen Sie nach veralteten Treibern und aktualisieren Sie sie alle.
- Für Updates, die Sie verpasst haben, überprüfen Sie Windows Update.
Dies war einfach.
4] Optimieren der Leistung
Durch die Anpassung von Windows an die Leistung wird alles verwaltet, einschließlich Prozessorzeitplanung und Speichernutzung, um Speicherlecks zu verhindern. Führen Sie folgende Schritte aus:
- Klicken Sie mit der rechten Maustaste auf Dieser PC und wählen Sie im linken Bereich Einstellungen Erweitert
- Unter Erweitert `tab, gehe zu` Leistung `, gefolgt von` Einstellungen `.
- Prüfe` Adjust für die beste Leistung `und klicke OK .
- Neu starten und prüfen, ob das Problem behoben ist.
Wenn diese einfache Lösung nicht funktioniert hat, versuchen Sie die nächste Lösung.
5] Deaktivieren Programme, die beim Start ausgeführt werden
Das Deaktivieren der problematischen Programme ist der einzige Weg, um das Problem des Speicherlecks loszuwerden. Wechseln Sie zum Task-Manager, und deaktivieren Sie das Störenfriedprogramm. Wenn Sie nicht wissen, welche Programme den Fehler verursachen, tun Sie dies:
- Gehen Sie zu Task-Manager .
- Gehen Sie zu Start .
- Deaktivieren Sie die Autostart-Programme, die nicht standardmäßig ausgeführt werden müssen.
6] Festplatte defragmentieren
Obwohl Windows 10 dies automatisch für Sie erledigt, müssen Sie gelegentlich die Festplatten defragmentieren, um die Leistung zu optimieren:
- Gehen Sie zu ` Dieser PC ` oder ` Arbeitsplatz .
- Klicken Sie mit der rechten Maustaste auf die Systemfestplatte (normalerweise C: Laufwerk).
- Gehen Sie zu Werkzeuge `unter` Eigenschaften `und wählen Sie` Optimieren `.
- Wählen Sie das zu defragmentierende Laufwerk aus und wählen Sie` Analysieren .
Starten Sie Ihren Computer nach der neuen Fragmentierung neu.
7] ClearPage-Datei beim Herunterfahren
Es wird jetzt kompliziert - aber keine Sorge. So löschen Sie die Auslagerungsdatei bei jedem Herunterfahren:
- Geben Sie regedit in Suchen ein, um den Registrierungs-Editor zu starten.
- Geben Sie den folgenden Pfad ein: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
- Ändern Sie den Wert von ClearPageFileAtShutDown auf `1`.
- Speichern Sie die Änderungen und starten Sie das Gerät neu.
Das sollte es tun.
9] Superfetch deaktivieren
Dieser Windows-Dienst optimiert die Leistung durch Minimierung der Startzeit. Damit kann Windows die RAM-Nutzung verwalten. Das Leben nach der Deaktivierung von Superfetch ist nicht bequem, aber tun Sie es, wenn Sie müssen. Versuchen Sie dies zumindest, um das Problem zu isolieren:
- Suchen Sie services.msc und gehen Sie zu Services Manager.
- Suchen Sie nach Superfetch und klicken Sie mit der rechten Maustaste darauf, um fortzufahren ` Eigenschaften `.
- Wählen Sie ` Stop `.
- Auch ` Deaktivieren Sie den Dienst aus dem Dropdown-Menü.
- Starten Sie den PC neu und überprüfen Sie, ob sich die Leistung verbessert hat.
Aktivieren Sie Superfetch, wenn dieser nicht funktioniert.
10] Auf Malware prüfen
Verwenden Sie eine Antivirus-Software eines Drittanbieters oder den Windows Defender von Windows 10, um Malware zu scannen und zu beseitigen. Stellen Sie sicher, dass das Antivirenprogramm so aktualisiert wurde, dass es Ihr Betriebssystem unterstützt, damit es nicht zum Grund für den Speicherverlust wird.
Hier finden Sie alle Lösungen, die Sie benötigen, um Speicherlecks zu finden oder zu verhindern. Sie können mehr über Speicherverluste auf MSDN und Microsoft lesen.
Reparieren und Reparieren von Windows Updates mit Fix WU Utility
Windows Updates können nicht installiert werden? TRy Fix WU Dienstprogramm. Alle erforderlichen DLL-Dateien für Windows Updates werden mit einem Klick neu registriert.
Reparieren und Reparieren Sie Windows 7 Probleme mit FixWin Utility
FixWin ist eine kostenlose portable Anwendung zur Reparatur und Behebung gängiger Windows 7 & Vista Störungen Probleme. Lösungen zur Behebung und Behebung von 50 verbreiteten Windows-Störungen, Problemen und Problemen wurden hinzugefügt.
Festlegen von Google als Standard Suchen in Windows 10 Suchen in der Taskleiste
Mit der Bing2Google-Erweiterung für Chrome können Sie Google als Standardsuche in Windows festlegen 10 Taskleiste Suchfeld statt Bing. Dieses Tutorial zeigt, wie es geht.