1、你平时工作中用过的JVM常用基本配置参数有哪些?
- -Xms:初始堆空间(默认是64分之一)
-
-Xmx:堆空间最大值(默认是4分之一)
除了可以使用命令行的方式以外还可以使用程序的方式获取,初始堆空间和堆空间最大值
//返回java虚拟机中的内存总量
long totalMemory = Runtime.getRuntime().totalMemory();
//返回java虚拟机试图使用的最大内存量
long maxMemmory = Runtime.getRuntime().maxMemory();
例如计算机为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)
--------------------------------------------待续--------------------------------------------