Jvm调优之启动参数

Jvm调优之启动参数

nohup java -Xms3G -Xmx3G -Xmn2G -jar yuri-app.jar >> /usr/yuri/app/null &
  1. 配置堆区:-Xms 、-Xmx、-XX:newSize、-XX:MaxnewSize、-Xmn

  2. 配置非堆区:-XX:PermSize、-XX:MaxPermSize

  3. 堆区内存分配:-Xms 、-Xmx。我们通常把最大、最小设置为相同的值

  4. 年轻代和年老代分配:-Xmn(设置-XX:newSize、-XX:MaxnewSize就是设置-Xmn)。

另外:
java虚拟机对非堆区内存配置的两个参数:
1、-XX:PermSize:表示非堆区初始内存分配大小(方法区)
2、-XX:MaxPermSize:表示对非堆区分配的内存的最大上限(方法区)。

在配置之前一定要慎重的考虑一下自身软件所需要的非堆区内存大小,因为此处内存是不会被java垃圾回收机制进行处理的地方。并且更加要注意的是最大堆内存与最大非堆内存的和绝对不能够超出操作系统的可用内存。

1、-Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。该值必须是1024的倍数并且大于1MB。
2、-Xmx:表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。
3、-XX:newSize:表示新生代初始内存的大小,应该小于-Xms的值;
4、-XX:MaxnewSize:表示新生代可被分配的内存的最大上限;应该小于-Xmx的值;
5、-Xmn:对 -XX:newSize、-XX:MaxnewSize两个参数的同时配置,设置两者相同,Oracle建议的大小是整个堆大小的1/4 - 1/2之间
6、参考https://blog.csdn.net/ymaini/article/details/81952547

你可能感兴趣的:(JVM)