• 堆内存大小的配置


    设置

    • 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学习目录

  • 相关阅读:
    测试用例
    web 接口测试入门
    Web 安全测试
    Web 测试总结
    linux的基本操作(NFS服务配置)
    linux的基本操作(mysql 的基本操作)
    linux的基本操作(LNMP的基本操作)
    linux的基本操作(LAMP环境搭建)
    linux 的基本操作(linux系统的日常管理)
    Android官方技术文档翻译——ApplicationId 与 PackageName
  • 原文地址:https://www.cnblogs.com/ding-dang/p/13073281.html
Copyright © 2020-2023  润新知