• Java技术专区-虚拟机系列-虚拟机参数(常用)


    基础参数系类(内存分配)

    -server:一定要作为第一个参数,在多个CPU时性能佳

    -Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
    -Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
    -Xmx:Java heap最大值,使用的最大内存

    (上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。)默认为1/64 和 1/4
    -XX:PermSize:设定内存的永久保存区域
    -XX:MaxPermSize:设定最大内存的永久保存区域

    -XX:NewSize:设置新生去的初始化大小
    -XX:MaxNewSize: 设置新生区的最大内存空间值 默认为(1/64)
    -Xss15120k(每个线程的Stack大小)  这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.

    +XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。

    -XX:+UseParNewGC :缩短minor收集的时间
    -XX:+UseConcMarkSweepGC :缩短major收集的时间

           提示:此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适。

    -XX:+PrintTenuringDistribution
        作用:输出survivor区对象年龄段分布情况,及对象阀值。

     方法区

            PermSize(metaspace)和MaxPermSize(metaspace)指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
      -XX:PermSize(metaspace)=64MB 最小尺寸,初始分配
      -XX:MaxPermSize(metaspace)=256MB 最大允许分配尺寸,按需分配过小会导致:java.lang.OutOfMemoryError: PermGen space(metaspace)
           MaxPermSize(metaspace)缺省值和-server -client选项相关。
           -server选项下默认MaxPermSize为64m
           -client选项下默认MaxPermSize为32m
    经验:
          1、慎用最小限制选项Xms,PermSize(metaspace)已节约系统资源。
     

    极限就是为了超越而存在的
  • 相关阅读:
    多线程
    python 进程间通信
    python 生产者消费者模型
    多线程锁
    io多路复用(三)
    div 加滚动条的方法
    10矩形覆盖
    11.二进制中1的个数
    12数值的整数次方
    9 变态跳台阶
  • 原文地址:https://www.cnblogs.com/liboware/p/11914117.html
Copyright © 2020-2023  润新知