JVM中参数

前言

  • 每个虚拟机的参数可能会有所不同,下面参数都是针对HotSpot虚拟机的参数配置。

参数

  • -XX:+/-UseTLAB 设置虚拟机是否使用TLAB(Thread Local Allocation Buffer)本地线程分配缓冲

  • -XX:+PrintGCDetails 发生垃圾收集行为时打印内存回收日志,并在进程退出时输出当前的内存各区域分配情况

  • 堆内存分配参数:

    • 最大值参数:-Xmx、最小值参数:-Xms
    • 新生代内存分配大小:-Xmn 。那么剩下的就是老年代的内存大小
    • -XX:+HeapDumpOnOutOfMemoryError :让虚拟机在出现内存溢出异常时Dump出当前的内存堆转储快照以便事后分析。
  • -XX:SurvivorRatio=8 :配置新生代中Eden区和一个Survivor区空间比例是8:1(默认值)新生代中有一个Eden、2个Survivor。eden和survivor在日志中打印的名称为enden space 、from space 、to space。

  • 案例:设置堆大小为20MB,不可扩展,其中10MB分配给新生代,剩下10MB给老年代,Eden和一个Survivor去的空间比例为8:1

  • -Xmx20M -Xms20M -Xmn10M -XX:SurvivorRatio=8

  • -XX:PretenureSizeThreshold参数,令大于这个设置值的对象直接在老年代分配。这样做的目的是避免在Eden区及两个Survivor区之间发生大量的内存复制

非堆内存

-XX:PermSize=64M JVM初始分配的非堆内存
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配

栈容量

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

相关阅读更多精彩内容

  • 原文阅读 前言 这段时间懈怠了,罪过! 最近看到有同事也开始用上了微信公众号写博客了,挺好的~给他们点赞,这博客我...
    码农戏码阅读 11,251评论 2 31
  • Java 虚拟机有自己完善的硬件架构, 如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 屏蔽了与具体操作系...
    尹小凯阅读 5,628评论 0 10
  • JVM内存模型Java虚拟机(Java Virtual Machine=JVM)的内存空间分为五个部分,分别是: ...
    光剑书架上的书阅读 7,616评论 2 26
  • 1.一些概念 1.1.数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始...
    落落落落大大方方阅读 10,189评论 4 86
  • http://www.cnblogs.com/angeldevil/p/3801189.html值得一看 Clas...
    snail_knight阅读 5,418评论 1 0

友情链接更多精彩内容