JVM+GC解析(题目1-3)

1、你平时工作中用过的JVM常用基本配置参数有哪些?

  • -Xms:初始堆空间(默认是64分之一)
  • -Xmx:堆空间最大值(默认是4分之一)


    image.png

除了可以使用命令行的方式以外还可以使用程序的方式获取,初始堆空间和堆空间最大值

//返回java虚拟机中的内存总量
long totalMemory = Runtime.getRuntime().totalMemory();
//返回java虚拟机试图使用的最大内存量
long maxMemmory = Runtime.getRuntime().maxMemory();

例如计算机为16G内存,两者分别为


实例(16G为例)

2、常用参数

2.1、-Xms

初始大小内存,默认情况下是物理内存的1/64

  • 等价于 -XX:InitialHeapSize

2.2、-Xmx

最大分配内存,默认情况下是物理内存的1/4

  • 等价于 -XX:MaxHeapSize

2.3、-Xss

设置单个线程栈的大小,一般默认是512k~1024k

  • 等价于 -XX:ThreadStackSize

如果通过jinfo flag ThreafStackSize 9999查询出来的结果是0,说明是使用的默认参数值,而非真的是0。

具体参照:Java 平台标准版 8 文档
Java Platform Standard Edition 8 Documentation (oracle.com)

--------------------------------------------待续--------------------------------------------

2.4、-Xmn

2.5、-XX:MetaspaceSize

2.6、-典型设置案例

2.7、-XX:+PrintGCDetails

2.8、-XX:SurvivorRatio

2.8、-XX:NewRatio

2.8、-XX:MaxTenuringThreshold

你可能感兴趣的:(JVM+GC解析(题目1-3))