碰到一个不知如何解释的 Java 控制台程序的内存问题
有一 Java 控制台程序,启动经过一段时间之后从 Windows 任务管理器里看它所占用的内存稳定在 540M 左右。
启动参数是:-Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128
但只要你把那个控制台窗口最小化后,观察到的内存用瞬间下降到 100 多M,有时候甚至是几十M。然后不管是窗口保持最小化还是恢复了,它所占用的内存又以几十M几十M的上扬,直至先前的 540 M 左右。每次最小化窗口都可以观察到这种现象。
控制台窗口的参数:屏幕缓冲区大小:宽 120;高 300。窗口大小:宽 120;高 40。
不知道在控制台窗口最小化那时,JVM 做了些什么事情能让内存骤降下来,而复又升回去。 永久链接 https://yanbin.blog/explain-java-console-memory-leak/, 来自 隔叶黄莺 Yanbin's Blog
[版权声明]
本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。
启动参数是:-Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128
但只要你把那个控制台窗口最小化后,观察到的内存用瞬间下降到 100 多M,有时候甚至是几十M。然后不管是窗口保持最小化还是恢复了,它所占用的内存又以几十M几十M的上扬,直至先前的 540 M 左右。每次最小化窗口都可以观察到这种现象。
控制台窗口的参数:屏幕缓冲区大小:宽 120;高 300。窗口大小:宽 120;高 40。
不知道在控制台窗口最小化那时,JVM 做了些什么事情能让内存骤降下来,而复又升回去。 永久链接 https://yanbin.blog/explain-java-console-memory-leak/, 来自 隔叶黄莺 Yanbin's Blog
[版权声明]
本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。