我有一个在eJDK 1.8.201
上运行的Java应用程序。我观察到系统报告说Java进程的RSS使用率一直在增加,它将达到512M
的90%以上的物理内存,并且我的代码将重新引导系统。另一方面,我从代码中定期打印出的usedMemory()
表明,它始终在不超过物理内存的37%的有限范围内波动(意味着190M)。据我了解,这意味着JVM并未将其空闲内存返回给操作系统。这种理解正确吗?我已经设置了-Xmx=256M -Xms=256M
,所以我认为-Xmx
选项不起作用。
您对发生的事情以及如何解决此问题有任何想法吗?
该系统是在ARMv7
板上的嵌入式Linux。
最佳答案
-Xmx=512M
和-Xms=512M
是无效的标志。它们应更改为-Xmx512M
和-Xmx512M
。