如何限制 Java 8 应用程序消耗的总内存?

How to limit total memory consumed by Java 8 application?

为了限制 Java 7 应用程序消耗的总内存,我可以使用以下公式(取自 this article):

Max memory = [-Xmx] + [-XX:MaxPermSize] + number_of_threads * [-Xss]

在删除 PermGen 后,Java 8 应用程序的公式如何变化?

我应该使用选项“-XX:MaxMetaspaceSize”来限制元空间消耗的最大内存吗?

是的,有 -XX:MaxMetaspaceSize 而不是 -XX:MaxPermSize

同时考虑 -XX:MaxDirectMemorySize 限制直接字节缓冲区的内存。