Как ограничить общую память, потребляемую приложением Java 8?

Чтобы ограничить общую память, потребляемую приложением Java 7, я мог бы использовать следующую формулу (взятую из в этой статье):

Макс. память = [-Xmx] + [-XX: MaxPermSize] + number_of_threads * [-Xss]

Как эта формула изменяется для приложения Java 8 после удаления PermGen?

Должен ли я использовать параметр "-XX: MaxMetaspaceSize", чтобы ограничить максимальную память, потребляемую метапроцессом вместо?

Ответ 1

Да, вместо -XX:MaxPermSize есть -XX:MaxMetaspaceSize.

Рассмотрим также -XX:MaxDirectMemorySize, чтобы ограничить память для прямых байтовых буферов.