Трохи тому з цікавості я написав програму Java, яка дуже швидко займає багато пам'яті. (Він додає BufferedImages до масиву в циклі.)
Я тримав монітор Windows відкритим, щоб спостерігати за використанням оперативної пам'яті під час роботи.
Коли я запустив програму, використання оперативної пам’яті зросло дуже швидко, і коли вона досягла приблизно 100% моїх 6 Гб оперативної пам’яті, мій комп'ютер став надзвичайно повільним. Приблизно за одну хвилину мені вдалося припинити програму, і мій комп'ютер повільно відновив швидкість. Що привернуло мою увагу, що споживання пам’яті спочатку повільно знижувалося, а потім раптово знизилося майже до 0 Мб, перш ніж піднятися на режим очікування на рівні 2-2,5 ГБ.
Я зробив знімок екрана використання оперативної пам'яті в системному моніторі:
Мені було цікаво, чи може хтось пояснити, що відбувається, коли у комп'ютера не вистачає пам’яті і чому він не повертається до простою відразу після закінчення програми, а приблизно через 60 секунд? Крім того, чому використання йде зовсім ні до чого, а не простою програмою?