zoukankan      html  css  js  c++  java
  • 堆内存大小的配置

    设置

    • Java堆区用于存储java对象实例,堆的大小在jvm启动时就已经设定好了,可以通过 "-Xmx"和 "-Xms"来进行设置
      • -Xms 用于表示堆的起始内存,等价于 -XX:InitialHeapSize
        • -Xms 用来设置堆空间(年轻代+老年代)的初始内存大小
          • -X 是jvm的运行参数
          • ms 是memory start
      • -Xmx 用于设置堆的最大内存,等价于 -XX:MaxHeapSize
    • 一旦堆区中的内存大小超过 -Xmx所指定的最大内存时,将会抛出OOM异常
    • 通常会将-Xms和-Xmx两个参数配置相同的值,其目的就是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小,从而提高性能
    • 默认情况下,初始内存大小:物理内存大小/64;最大内存大小:物理内存大小/4
      • 手动设置:-Xms600m -Xmx600m

    查看

    方式一: 终端输入jps, 然后jstat -gc 进程id

    方式二:(控制台打印)Edit Configurations  ->  VM Options 添加  -XX:+PrintGCDetails

    方式三:

     1 public class HeapSpaceInitial {
     2     public static void main(String[] args) {
     3 
     4         //返回Java虚拟机中的堆内存总量
     5         long initialMemory = Runtime.getRuntime().totalMemory() / 1024 / 1024;
     6         //返回Java虚拟机试图使用的最大堆内存量
     7         long maxMemory = Runtime.getRuntime().maxMemory() / 1024 / 1024;
     8 
     9         System.out.println("-Xms : " + initialMemory + "M");
    10         System.out.println("-Xmx : " + maxMemory + "M");
    11 12 }

    附:JVM学习目录

  • 相关阅读:
    Solr&SpringDataSolr
    Redis简单介绍与使用
    ueditor文本编辑器
    FastDFS
    Vue.js快速入门
    分布式架构Duboo+Zookeeper的基础使用
    Linux基本操作&&Linux操作MySQL
    23种设计模式之代理模式(动态代理)
    23种设计模式之代理模式(静态代理)
    MongoDB入门培训 | 8周入门NoSQL No.1数据库
  • 原文地址:https://www.cnblogs.com/ding-dang/p/13073281.html
Copyright © 2011-2022 走看看