前不久,出于好奇,我编写了一个Java程序,该程序非常快地占用了大量内存。(它将BufferedImages循环添加到arraylist中。)
我一直打开Windows系统监视器,以观察其运行时的RAM使用情况。
当我启动该程序时,RAM的使用量迅速增加,并且达到6GB RAM的100%左右时,我的计算机变得非常慢。大约一分钟后,我设法终止了该程序,计算机缓慢恢复了速度。引起我注意的是,内存使用率先缓慢下降,然后突然下降到将近0MB,然后又恢复到大约2-2.5GB的空闲使用率。
我在系统监视器中截取了RAM使用情况的屏幕截图:
我想知道是否有人能解释一下计算机内存不足时会发生什么,为什么在程序结束后大约60秒后它没有回到空闲状态?另外,为什么使用率一直下降到零,而不仅仅是闲置使用率?
1
确实如此。
那不是 0MB(甚至不是 0MB)。假设您对整个图表进行了截图,则最低点为814MB;如果剪裁得更多。
—
Synetech 2012年