• JVM中内存的设置和分配(最大内存,总内存,剩余内存的区别)


     

    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。

  • 相关阅读:
    day03
    day02
    day01
    springBoot相关(二)
    predis操作redis方法大全
    按钮变色变色变色
    mysql中获取一天、一周、一月时间数据的各种sql语句写
    wordpress速度慢
    html关于强制显示、隐藏浏览器的滚动条
    css全局样式表
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/11314917.html
Copyright © 2020-2023  润新知