当前位置: 首页 > news >正文

深圳优质网站建设案例高端网站设计官网

深圳优质网站建设案例,高端网站设计官网,个人网站icp备案网,专门做代工产品的网站调优的位置——堆 Heap#xff0c;一个JVM只有一个堆内存#xff0c;堆内存的大小是可以调节的。 类加载器读取了类文件后#xff0c;一般会把什么东西放到堆中?类#xff0c;方法#xff0c;常量#xff0c;变量~#xff0c;保存我们所有引用类型的真实对象; 堆内存中…调优的位置——堆 Heap一个JVM只有一个堆内存堆内存的大小是可以调节的。 类加载器读取了类文件后一般会把什么东西放到堆中?类方法常量变量~保存我们所有引用类型的真实对象; 堆内存中还要细分为三个区域: 1.新生区0区/1区类诞生和成长的地方甚至死亡。其中的伊甸园区是所有的new对象发生的地方。 2.养老区从新生区经过GC之后存活下来的对象进入养老区 3.永久区这个区域常驻内存的。用来存放DK自身携带的Class对象。Interface元数据存储的是Java运行时的一些环境或类信息这个区域不存在垃圾回收!关闭VM虚拟就会释放这个区域的内存 在堆中主要存放加载的Class类级对象如class本身methodfield等等 幸存区0和1在堆内存中是一个动态变化的情况他是伊甸园区和养老区之间的一个过渡顾名思义无法幸存的对象会被“kill”GC垃圾回收主要在新生区中的伊甸园区和养老区进行。回收的方式分为轻GC与重GC其中轻GC主要存在于新生区只有当进入老年区的垃圾对象超过限额才会触发重GCfull GC该操作主要存在于养老区。 在开发中可能遇到OOM的问题表示内存不够这个内存也就是JVM的堆内存比如下面这个例子 Exception in thread “main” java.lang.OutOfMemoryError: Java heap space 99%的对象都是临时对象所以经过GC之后很少有进入到老年区中因此OOM的情况也很少发生 永久区的演变 这个区域常驻内存的。用来存放IDK自身携带的Class对象。Interface元数据存储的是Java运行时的一些环境或类信息。 jdk1.6之前︰永久代常量池是在方法区; jdk1.7︰永久代但是慢慢的退化了去永久代常量池在堆中 jdk1.8之后无永久代常量池在元空间 OOM的出现 永久区内存崩溃的情况一个启动类加载了大量的第三方jar包。Tomcat部署了太多的应用大量动态生成的反射类。不断的被加载。直到内存满就会出现OOM; 默认情况下分配的总内存是电脑内存的四分之一初始化的内存是电脑内存的六十四分之一 但是这些内存参数是可以人为调整的 运行程序后发现JVM参数发生了变化 可以看出元空间逻辑上存在但物理上并不存在 出现OOM如何去排查 可以使用内存快照工具分析对象主要有:MATEclipseJprofileIDEA两种工具。 向VM传入以下参数即可 当程序运行出现OOM进入类所在的文件目录下去寻找Jprofile生成的hprof文件即可。 双击打开即可初步发现占用大量内存的对象俗称“大对象” 查看线程Thread Dump即可发现程序中出现问题的所在行。 针对具体情况就可以进行JVM相关调优参数进行调优 分享一些其他的JVM参数 -Xmx4g堆内存最大值为4GB。 -Xms4g初始化堆内存大小为4GB。 -Xmn1200m设置年轻代大小为1200MB。增大年轻代后将会减小年老代大小。此值对系统性能影响较大Sun官方推荐配置为整个堆的3/8。 -Xss512k设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1MB以前每个线程堆栈大小为256K。应根据应用线程所需内存大小进行调整。在相同物理内存下减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的不能无限生成经验值在3000~5000左右。 -XX:NewRatio4设置年轻代包括Eden和两个Survivor区与年老代的比值除去持久代。设置为4则年轻代与年老代所占比值为14年轻代占整个堆栈的1/5 -XX:SurvivorRatio8设置年轻代中Eden区与Survivor区的大小比值。设置为8则两个Survivor区与一个Eden区的比值为2:8一个Survivor区占整个年轻代的1/10 -XX:PermSize100m初始化永久代大小为100MB。 -XX:MaxPermSize256m设置持久代大小为256MB。 -XX:MaxTenuringThreshold15设置垃圾最大年龄。如果设置为0的话则年轻代对象不经过 可调优参数 -Xms初始化堆内存大小默认为物理内存的1/64(小于1GB)。 -Xmx**堆内存最大值。**默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时JVM会减少堆直到-Xms的最小限制。 -Xmn新生代大小包括Eden区与2个Survivor区。 -XX:SurvivorRatio1Eden区与一个Survivor区比值为1:1。 -XX:MaxDirectMemorySize1G**直接内存。**报java.lang.OutOfMemoryError: Direct buffer memory异常可以上调这个值。 -XX:DisableExplicitGC禁止运行期显式地调用System.gc()来触发fulll GC。 注意: Java RMI的定时GC触发机制可通过配置-Dsun.rmi.dgc.server.gcInterval86400来控制触发的时间。 -XX:CMSInitiatingOccupancyFraction60老年代内存回收阈值默认值为68。 -XX:ConcGCThreads4CMS垃圾回收器并行线程线推荐值为CPU核心数。 -XX:ParallelGCThreads8新生代并行收集器的线程数。 -XX:MaxTenuringThreshold10设置垃圾最大年龄。如果设置为0的话则年轻代对象不经过Survivor区直接进入年老代。对于年老代比较多的应用可以提高效率。如果将此值设置为一个较大值则年轻代对象会在Survivor区进行多次复制这样可以增加对象再年轻代的存活时间增加在年轻代即被回收的概论。 -XX:CMSFullGCsBeforeCompaction4指定进行多少次fullGC之后进行tenured区 内存空间压缩。 -XX:CMSMaxAbortablePrecleanTime500当abortable-preclean预清理阶段执行达到这个时间时就会结束。
http://www.hkea.cn/news/14344542/

相关文章:

  • 杭州设计企业网站高端公司沈阳京科妇科医院
  • 石家庄青园网站建设wordpress通过电子邮件
  • 怎么做网站推广方案凡科网站代理登录入口
  • 专业外贸制作网站wordpress社交媒体插件
  • 模板包下载网站永修建设局网站
  • 临海高端营销型网站建设地址佛山网络推广哪里好
  • 陈塘庄网站建设哪个网站可以代做软件
  • 免费软件网站下载教务系统管理系统
  • 北京模板建站哪家好扫一扫网页版在线使用
  • 海外自建站厦门seo新站策划
  • 小型教育网站的开发与建设福永网站建设公司
  • 国外域名 网站备案建网站的工具有哪些
  • 去马来西亚做网站网站建设小游戏网站空间类型选择
  • 淄博网站建设兼职html5移动端网站建设
  • 怎么做子网站高级采矿平台建立在小行星带
  • 阿里云 网站空间各大引擎搜索入口
  • 做外贸首先要做网站做钢材的网站有哪些
  • 2狠狠做网站做网站那些好
  • 有个人做网站的吗wordpress live2d
  • 网站开发制作公司有哪些网站页面改版降权
  • 网站建设具体工作只用html5做网站
  • 自适应网站价格免费建网站抚顺
  • 网站模板免费推荐梅龙高速施工企业
  • 如何创建网站小程序益阳网站建设哪里好
  • 品牌网站建设源码profile wordpress
  • 商城网站建设步骤手机网站开发介绍
  • 建个企业网站备案需要多长时间网站基础建设和管理
  • 怎么给甲方做网站备案巴中网站建设公司
  • 海口智能建站价格制作app的免费软件
  • 甘肃三北防护林建设局网站河南省建设厅网站103