JVM内存区域配置

堆内存:新域+旧域

设置堆内存初始化大小

java -Xms128m  设置堆内存初始化大小128MB

设置堆内存最大大小

java -Xmx256m  设置堆内存最大256MB

通常将堆内存的初始化大小与最大大小设置成一样,这样就避免了在内存不足的时候动态增加堆内存的大小


设置新域大小

java -Xms256m -Xmx256m -Xmn64m 设置堆内存初始值与最大值为256MB,新域初始值与最大值大小64MB

java -Xms256m -Xmx256m -XX:NewSize=64m -XX:MaxNewSize=64m 与上一段设置代码等效

还可以通过设置新域/旧域 的比例值来设置新域与旧域的大小

java -Xms256m -Xmx256m -XX:NewRatio=3  也就是说,新域/旧域 = 3


永久域:永久域默认大小为4MB,程序运行时,JVM会自动调整永久域的大小,每次调整时,都会对堆进行一次完整的垃圾回收

java -XX:MaxPerSize=64m  设置永久域大小

java -Xms512m -Xmx512 -Xmn126m -XX:PermSize=32m -XX:MaxPermSize=64m  分别设置了堆内存的初始值 最大值 新域大小 永久域初始大小 永久域最大值

原文地址:https://www.cnblogs.com/sherrykid/p/4591914.html