Programme mit Memory-Leak terminieren "zu früh" ?



  • Abend die Herren,

    ich habe mir vorhin aus Langeweile ein paar Varianten von Memory-Leaks programmiert und mein System daraufhin beobachtet.

    Egal ob ich in Java (Eclipse) oder C++ (Visual Studio 2013 Ultimate) einen Leak bastle, die Exception krieg ich prinzipiell bei 6,4 GB Auslastung. Und das obwohl ich 8GB besitze. Da frage ich mich natürlich: Was ist mit dem Rest?

    Kann ich also davon ausgehen dass auch bei anderen Anwendungen bei 6,4 GB feierabend ist?

    Grüße und frohes Fest



  • 32 oder 64 Bit? Kann eigentlich beides nicht sein. Bei 32 Bit ist bei 1.2 - 1.7GB Schluss, bei 64 Bit kriegst du wesentlich mehr Speicher. Oder hast du Swapping deaktiviert? Dann könnte es vielleicht hinkommen.



  • Ich habe 64bit. Wüsste nicht dass ich Swapping irgendwo mal ausgeschaltet hätte (Wo geht das überhaupt? :D).

    Grüße



  • Was heisst "6,4 GB Auslastung"? 6,4 GB Working-Set des Prozesses? VM-Size des Prozesses? Oder Gesamt-Speicherauslastung des PCs? ...?
    6,4 GB Working-Set würde mich jetzt nicht so wundern. Der Rest braucht ja auch Speicher, und das Working-Set ist ja nur der Teil des Ramverbrauchs eines Prozesses der in den physikalischen Speicher gemappt ist.



  • Speicher ist bei einem modernen Betriebssystem immer Virtuell. Du kannst aus der Anzahl der RAM-Riegel nicht wirklich auf den zur Verfügung stehenden Speicher schliessen. Es ist eigentlich eher erstaunlich, dass Du mit Deinem 6.3GB so relativ nah am physikalischen Speicher bist.

    Geht der physikalische Speicher zur Neige, fängt ein Betriebssystem an, Speicherseiten auf die Platte auszulagern. Dadurch kannst Du durchaus auch mehr als 8GB zur Verfügung haben. Nur eben wird es dann langsam.


Anmelden zum Antworten