我有一个在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

10-06 11:01