zoukankan      html  css  js  c++  java
  • java常用内存设置

    Java虚拟机具有一个堆,是运行时的数据区域,所有类实例和数组内存均从此处分配。堆是在java虚拟机启动时创建的。

    堆是留给开发人员用的内存区域。非堆就是JVM留给自己用的(方法区,JVM内部处理或优化所需的内存,运行时的常量池,字段方法数据等)。


    JVM初始分配的内存由-Xms指定,默认为物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。

    默认空余堆内存小于40%时,JVM会增大到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。

    因此服务器一般设置-Xms,-Xmx相等以避免每次在GC后调整堆的大小。


    JVM使用-XX:PermSize设置非堆区持久代(仅仅存在于HotSpot中的概念,最新的HotSpot中也进行
    了移除)内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大的非堆内存的大小,默认是物理内存的1/4。

    JVM内存限制(最大值)
    32位的操作系统,处理器会控制内存空间有4G,64bit以上处理器就不会有限制

    常用参数:
    -Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
    -Xms   Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
    -Xmn   Java Heap Young区大小,增大年轻代后,将会减小年老代大小.此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8;
    -Xss   每个线程的Stack大小,JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K;

  • 相关阅读:
    判断两个数组是否相等
    IIS应用程序池性能分析
    配置Windows Update,补丁更新
    正则表达式从右往左进行匹配(Regex)
    OpenSSL
    openssl用法详解
    OpenSSL生成公钥私钥***
    HTTP认证与https简介
    单机至亿级流量大型网站系统架构的演进过程
    程序员常用英语词汇
  • 原文地址:https://www.cnblogs.com/yfsmooth/p/4625237.html
Copyright © 2011-2022 走看看