shoshana-kong

 

1、设置分配的内存大小

	-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
	-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了
	-Xms128m JVM初始分配的堆内存
	-Xmx512m JVM最大允许分配的堆内存,按需分配
	-XX:PermSize=64M JVM初始分配的非堆内存
	-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配

2、jvm虚拟机中内存的分配情况

在java虚拟机运行中,所有类实例和数组的内存均从堆中分配,堆是运行时数据区域,随虚拟机的启动而创建。除了堆内存之外的内存称为非堆内存。

因此jvm中内存主要分为堆内存和非堆内存。堆内存,就是java代码可及的内存,比如实例对象或数组等;非堆内存是jvm留给虚拟机自己用的,比如方法区、常数池、栈等。

2.1、堆内存

通过-Xms指定虚拟机初始分配的堆内存,通常是物理内存的1/64;-Xmx指定最大分配内存,通常是物理内存的1/4.当空余堆内存小于40%时,jvm就会增大堆内存,直到达到-Xmx最大的限制;当空余内存大于70%时,就会减小内存直到达到-Xms最小限制。

2.2、非堆内存

java虚拟机使用 -XX:PermSize 设置非堆内存初始值,默认是物理内存的1/64;由 -XX:MaxPermSize 设置最大非堆内存的大小,默认是物理内存的1/4。

分类:

技术点:

相关文章:

  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2021-06-27
  • 2021-11-20
猜你喜欢
  • 2021-11-20
  • 2021-11-20
  • 2022-01-06
  • 2021-11-11
  • 2021-05-28
  • 2021-06-12
相关资源
相似解决方案