У меня есть одно приложение Java, работающее на eJDK 1.8.201
. Я заметил, что система сообщила, что использование RSS процесса java продолжает расти, оно достигнет более 90% физической памяти, что составляет 512M
, и мой код перезагрузит систему. С другой стороны, usedMemory()
, который я периодически печатаю из кода, показывает, что он всегда колеблется в ограниченном диапазоне не более 37% физической памяти (означает <= <code>190M). Насколько я понимаю, это означает, что JVM не возвращала свою свободную память в ОС. Это понимание правильно? Я установил -Xmx=256M -Xms=256M
, поэтому я думаю, что опции -Xmx
не работали.
Есть ли у вас какие-либо идеи о том, что происходило и как решить проблему?
Система представляет собой встроенный Linux на плате ARMv7
.