Почему существует разница в использовании памяти между xmx и top?
Я установил xmx для jvm равным 4 G, но после запуска в течение некоторого времени, когда я использую top, чтобы увидеть память, он показывает, что процесс использовал 12 G памяти.
Так что же на самом деле означает xmx? Что мне делать, если я хочу ограничить память JVM до 4 G?
командная строка: -сервер -Xms4g -Xmx4g
И еще один связанный с этим вопрос :)
Если произойдет gc, JVM неизбежно освободит пространство объектов, которые больше не использовались в молодом поколении? или некоторые из них ушли к следующему gc?
Спасибо