/ / Unterscheiden Speicherleck von Speicherfragmentierung - Speicherlecks, Speicherfragmentierung

Unterscheiden Sie das Speicherleck von der Speicherfragmentierung - Speicherlecks, Speicherfragmentierung

Ich benutze Linux-Befehl top um ein laufendes Programm zu beobachten, und ich kann sehen, dass mehr Speicher von diesem Programm benutzt wird.

Wie kann man herausfinden, dass dieses Symptom durch Speicherverlust oder Speicherfragmentierung verursacht wird?

Antworten:

1 für die Antwort № 1

Nun, Sie können es nicht mit dem Befehl "top" tun. Die einzige Möglichkeit, Speicherlecks zu erkennen, ist die Verwendung spezieller Debugging-Tools namens Speicher Debugger. Ein Beispiel ist "Valgrind", aber es gibt viele von ihnen.

Eine andere Überlegung ist, was das Programm istSprache des Programms. Wenn es eine moderne Skriptsprache mit Garbage Collector ist - die Speicherlecks sind überhaupt nicht möglich (natürlich wenn der Sprachinterpreter / Compiler nicht fehlerhaft ist).

Meistens sind die kompilierten, relativ niedrigen Sprachen anfällig für Speicherlecks - wie C, C ++, Pascal, Assembly und ähnliches.