Vor kurzem habe ich aus Neugier ein Java-Programm geschrieben, das sehr schnell viel Speicherplatz beansprucht. (Es fügt BufferedImages zu einer Arrayliste in einer Schleife hinzu.)
Ich habe den Windows-Systemmonitor geöffnet, um die RAM-Auslastung während der Ausführung zu beobachten.
Als ich das Programm startete, stieg die RAM-Auslastung sehr schnell an und als sie ungefähr 100% meiner 6 GB RAM erreichte, wurde mein Computer extrem langsam. Nach ungefähr einer Minute konnte ich das Programm beenden und mein Computer stellte langsam die Geschwindigkeit wieder her. Was meine Aufmerksamkeit auf sich zog, war, dass die Speichernutzung zuerst langsam abnahm, dann plötzlich auf fast 0 MB abfiel, bevor sie wieder auf Leerlauf bei etwa 2 bis 2,5 GB anstieg.
Ich habe einen Screenshot der RAM-Nutzung im Systemmonitor gemacht:
Ich habe mich gefragt, ob jemand erklären kann, was passiert, wenn der Computer keinen Speicher mehr hat und warum er nicht gleich nach Programmende in den Leerlauf zurückkehrt, sondern etwa 60 Sekunden später. Warum geht die Nutzung bis auf nichts zurück, anstatt nur im Leerlauf?