JVM常用参数配置

jvm实际可配参数已经有1000多个了,其中GC和内存配置就多达600多个,你可以看出JVM问题排查和性能调优重点领域还是GC和内存。
常用的10个参数我都记不住,更不用提那么多的参数了,但是好在大家也都知道,绝大部分业务场景的调优也就下面十来个参数:

# 设置堆最大内存,建议将 -Xms 设置与 -Xmx 相同,以便在启动时分配足够的内存,避免因为堆内存扩容导致的性能开销
-Xmx4g 
# 设置堆最小内存
-Xms4g 
# 指定 GC 算法
-XX:+UseG1GC -XX:MaxGCPauseMillis=50 
# 指定 GC 并行线程数
-XX:ParallelGCThreads=4 
# 打印 GC 日志
-XX:+PrintGCDetails -XX:+PrintGCDateStamps 
# 指定 GC 日志文件
-Xloggc:gc.log 
# 指定 Meta 区的最大值
-XX:MaxMetaspaceSize=2g 
# 设置单个线程栈的大小
-Xss1m 
# 指定堆内存溢出时自动进行 Dump
-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=/usr/local/

# 常用的属性配置
# 指定默认的连接超时时间
-Dsun.net.client.defaultConnectTimeout=2000
-Dsun.net.client.defaultReadTimeout=2000
# 指定时区
-Duser.timezone=GMT+08 
# 设置默认的文件编码为 UTF-8
-Dfile.encoding=UTF-8 
# 指定随机数熵源(Entropy Source-Djava.security.egd=file:/dev/./urandom 

你可能感兴趣的:(Java,jvm,java)