JVM(三)---配置参数

JVM配置参数分为三类参数
1、跟踪参数
2、堆分配参数
3、栈分配参数
这三类参数分别用于跟踪监控JVM状态,分配堆内存,分配栈内存。
一、跟踪参数
跟踪参数用于跟踪监控JVM,往往被开发人员用于JVM调优以及故障排查。
(1)当发生GC时,打印GC简要信息
使用-XX:+PrintGC或-verbose:gc参数
(2)打印GC的详细信息以及堆使用详细信息
使用-XX:+PrintGCDetails参数
(3)使用外部文件记录GC的日志
-Xloggc:log/gc.log
(4)监控类的加载
-XX:+TraceClassLoading
二、堆配置参数
(1)指定最大堆,最小堆
Xmx,Xms
(2)永久区分配参数
-XX:Permsize -XX:MaxPermsize
用于设置永久区的初始空间和最大空间,他们表示一个系统可以容纳多少个类型,一般空间比较小。
三、栈大小分配参数
栈大小参数为-Xss,通常只有几百k,决定了函数调用的深度,每个线程都有自己独立的栈空间。 如果函数调用太深,超过了栈的大小,则会抛出java.lang.StackOverflowError,通常我们遇到这种错误,不是去调整参数,而是去调查函数调用太深的原理,是否使用递归,能不能保证递归出口。

猜你喜欢

转载自blog.csdn.net/qq_33628614/article/details/79498327