参考
https://blog.csdn.net/huangwei18351/article/details/81271207
常用的JVM配置参数
Trace 跟踪参数
-
-verbose:gc:表示输出虚拟机中GC的详细情况
-
-XX:+printGC:开启简单GC日志模式,为每一次新生代(young generation)的GC和每一次的Full GC打印一行信息。
-
-XX:+PrintGCDetails: 打印GC详细信息,只会在程序结束之后才会打印堆的相关信息
-
-XX:+PrintGCTimeStamps:打印GC发生的时间戳
-
-Xloggc:log/gc.log:指定GC log的位置当前目录下 log 文件夹下面的路径
-
-XX:+PrintHeapAtGC:表示每次GC后都打印堆信息:
-
-XX:+TraceClassLoading:监控类的加载
堆的分配参数
-
-Xmx:最大堆空间
-
-Xms:最小堆空间
-
maxMemory():返回 java虚拟机(这个进程)能够从操作系统获得的最大内存,以字节为单位,如果在运行java程序的时候,没有添加 -Xmx 参数,那么就是64兆,这是 java虚拟机默认情况下能从操作系统获得的最大内存。
-
totalMemory():返回 java虚拟机现在已经从操作系统得到的内存大小。如果在运行java的时候没有添加-Xms参数,那么,在java程序运行的过程的,内存总是逐步地从操作系统获取,基本上是有多少分配多少,直到分配到maxMemory() 为止,所以 totalMemory() 是慢慢增大的。如果用了 -Xms参 数,程序在启动的时候就会无条件的从操作系统中获取接近 - Xms 定义的内存数,然后在这些内存用的差不多的时候,再去申请空间。
-
freeMemory():当前空余的内存
-
-Xmn:设置新生代的大小
-
-XX:NewRatio :新生代 和 老年代 的比值,例如 4 表示新生代:老年代=1:4
-
-XX:SurvivorRatio:设置 两个Survivor区和 eden 的比
-
-XX:+HeapDumpOnOutOfMemoryError :OOM时导出堆到文件
-
-XX:HeapDumpPath :导出OOM文件的路径设置
-
-XX:OnOutOfMemoryError :在OOM时,执行一个脚本
-
-XX:PermSize :永久区的初始空间大小
-
-XX:MaxPermSize :永久区的最大空间
栈的分配参数
- -Xss :栈分配空间