Ich scheine ein größeres Speicherleck auf meinem aktuellen Ubuntu-System zu haben
Nachdem ich seltsame Eclipse-Speicherfehler ( https://askubuntu.com/questions/148998/eclipse-constant-different-out-of-memory-errors ) gemeldet hatte, bekam ich heute in meiner Konsole die Fehlermeldung „Nicht genug Speicher“ – während Erledigen einfacher Aufgaben wie das Eingeben von sudo -s
– oder sogar – free -m
Die wiederholte Eingabe von 'free -m' zeigte mir, wie mein RAM schnell von 700 MB auf 900 MB ansteigt und in wenigen Sekunden auf die Größe von 2000 MB anwächst (nachdem Speicher mit echo 3 > /proc/sys/vm/drop_caches
)
Eclipse ist nicht die Ursache, ich habe den Prozess vollständig beendet und der RAM ging immer noch hoch. Gibt es eine Möglichkeit herauszufinden, woher das Leck kommt? Ich kann mein System nicht einmal mehr aktualisieren, seit apt-get update
schlägt fehl (wahrscheinlich weil nicht genügend Speicher vorhanden ist)
Mit Ubuntu 11.10
Beste Antwort
memprof ist ein Tool zur Profilerstellung der Speichernutzung und zum Auffinden von Speicherlecks
. Es kann ein Profil erstellen, wie viel Speicher
von jeder Funktion in Ihrem Programm zugewiesen wurde. Außerdem kann es Speicher scannen und
Blöcke finden, die Sie zugewiesen haben, auf die aber nirgendwo mehr verwiesen wird.
memprof funktioniert, indem es eine Bibliothek vorab lädt, um die Speicherzuweisungsfunktionen der C
-Bibliothek zu überschreiben, und erfordert nicht, dass Sie
Ihr Programm neu kompilieren.
memprof
Quelle:Ubuntu-Handbuch