jvm调优参数

内存区域

-Xss

-Xms最小值
-Xmx最大值
-Xmn新生代最小
-XX:newSize新生代最小值
-XX:MaxNewSize新生代最大值

永久代(元空间)

-XX:PermSize -XX:MaxPermsize1.7及之前最小值和最大值
-XX:MetaspaceSize -XX:MaxMetaspaceSize1.8及之后
方法区移动至运行时常量池之外,即元空间

直接内存

  • 不是虚拟机运行时数据区的一部分,也不是java虚拟机规范定义的内存区域
  • NIO中会频繁使用这块区域,java堆内可以使用directByteBuffer对象直接引用操作
  • 此区域不受java堆大小限制,但也受本机总内存限制,可以通过MaxDirectMemorySize设置,默认和堆内存最大值一样,所有也会OOM
ByteBuffer b = ByteBuffer.allocateDirect(1024 * 14);

逃逸分析

-server使用server模式运行(只有这个有逃逸分析),还有client模式,mix表示自动判断
-Xmx10M -Xms10m堆大小
-XX+PrintGC打印GC日志
-XX:-EliminateAllocations标量替换
-XX:-UseTLAB事先为每个线程分配一个私有空间ThreadLocalAllocBuffer,可以避免线程new对象时使用同一区域而加锁导致串行

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容