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

贵州毕节网站建设移动开发网站建设

贵州毕节网站建设,移动开发网站建设,手机上怎么制作网页,佛山正规网站建设报价对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC 会对整个堆进行整理#xff0c;包括Young、Tenured和Perm。Full GC因为需要对整个堆进行回收#xff0c;所以比较慢#xff0c;因此应该尽可能减少Full GC的次数。 2.导致Full GC的原因 1)年老…对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC 会对整个堆进行整理包括Young、Tenured和Perm。Full GC因为需要对整个堆进行回收所以比较慢因此应该尽可能减少Full GC的次数。 2.导致Full GC的原因 1)年老代Tenured被写满 调优时尽量让对象在新生代GC时被回收、让对象在新生代多存活一段时间和不要创建过大的对象及数组避免直接在旧生代创建对象 。 2)持久代Pemanet Generation空间不足 增大Perm Gen空间避免太多静态对象 控制好新生代和旧生代的比例 3)System.gc()被显示调用 垃圾回收不要手动触发尽量依靠JVM自身的机制 在对JVM调优的过程中很大一部分工作就是对于FullGC的调节下面详细介绍对应JVM调优的方法和步骤。 JVM性能调优方法和步骤 1.监控GC的状态 使用各种JVM工具查看当前日志分析当前JVM参数设置并且分析当前堆内存快照和gc日志根据实际的各区域内存划分和GC执行时间觉得是否进行优化。 举一个例子 系统崩溃前的一些现象 每次垃圾回收的时间越来越长由之前的10ms延长到50ms左右FullGC的时间也有之前的0.5s延长到4、5s FullGC的次数越来越多最频繁时隔不到1分钟就进行一次FullGC 年老代的内存越来越大并且每次FullGC后年老代没有内存被释放 之后系统会无法响应新的请求逐渐到达OutOfMemoryError的临界值这个时候就需要分析JVM内存快照dump。 2.生成堆的dump文件 通过JMX的MBean生成当前的Heap信息大小为一个3G整个堆的大小的hprof文件如果没有启动JMX可以通过Java的jmap命令来生成该文件。 3.分析dump文件 打开这个3G的堆信息文件显然一般的Window系统没有这么大的内存必须借助高配置的Linux几种工具打开该文件 Visual VM IBM HeapAnalyzer JDK 自带的Hprof工具 Mat(Eclipse专门的静态内存分析工具)推荐使用 备注文件太大建议使用Eclipse专门的静态内存分析工具Mat打开分析。 4.分析结果判断是否需要优化 如果各项参数设置合理系统没有超时日志出现GC频率不高GC耗时不高那么没有必要进行GC优化如果GC时间超过1-3秒或者频繁GC则必须优化。 注如果满足下面的指标则一般不需要进行GC Minor GC执行时间不到50ms Minor GC执行不频繁约10秒一次 Full GC执行时间不到1s Full GC执行频率不算频繁不低于10分钟1次 5.调整GC类型和内存分配 如果内存分配过大或过小或者采用的GC收集器比较慢则应该优先调整这些参数并且先找1台或几台机器进行beta然后比较优化过的机器和没有优化的机器的性能对比并有针对性的做出最后选择。 6.不断的分析和调整 通过不断的试验和试错分析并找到最合适的参数如果找到了最合适的参数则将这些参数应用到所有服务器。 cms参数优化步流程 下面我再继续介绍下JVM的关键参数配置(仅用于参考)。 JVM调优参数参考 1.针对JVM堆的设置一般可以通过-Xms -Xmx限定其最小、最大值为了防止垃圾收集器在最小、最大之间收缩堆而产生额外的时间通常把最大、最小设置为相同的值; 2.年轻代和年老代将根据默认的比例12分配堆内存 可以通过调整二者之间的比率NewRadio来调整二者之间的大小也可以针对回收代。 比如年轻代通过 -XX:newSize -XX:MaxNewSize来设置其绝对大小。同样为了防止年轻代的堆收缩我们通常会把-XX:newSize -XX:MaxNewSize设置为同样大小。 3.年轻代和年老代设置多大才算合理 1更大的年轻代必然导致更小的年老代大的年轻代会延长普通GC的周期但会增加每次GC的时间小的年老代会导致更频繁的Full GC 2更小的年轻代必然导致更大年老代小的年轻代会导致普通GC很频繁但每次的GC时间会更短大的年老代会减少Full GC的频率 如何选择应该依赖应用程序对象生命周期的分布情况 如果应用存在大量的临时对象应该选择更大的年轻代如果存在相对较多的持久对象年老代应该适当增大。但很多应用都没有这样明显的特性。 在抉择时应该根 据以下两点 1本着Full GC尽量少的原则让年老代尽量缓存常用对象JVM的默认比例12也是这个道理 。 2通过观察应用一段时间看其他在峰值时年老代会占多少内存在不影响Full GC的前提下根据实际情况加大年轻代比如可以把比例控制在11。但应该给年老代至少预留1/3的增长空间。 4.在配置较好的机器上比如多核、大内存可以为年老代选择并行收集算法 -XX:UseParallelOldGC 。 5.线程堆栈的设置每个线程默认会开启1M的堆栈用于存放栈帧、调用参数、局部变量等对大多数应用而言这个默认值太了一般256K就足用。
http://www.hkea.cn/news/14495005/

相关文章:

  • 北京市保障房建设投资中心网站首页广州网站定做教程
  • 福建省建住房建设部网站游戏网站建设需要多少钱
  • 凡客建网站网站如何快速被收录
  • 齐齐哈尔网站建设公司科技股
  • 有趣的网站游戏建设黑彩网站
  • 如何调整网站板块位置建筑工程管理软件
  • 做便宜的宝贝的网站人才网最新招聘
  • 成都高端模板建站为传销做网站
  • 河源北京网站建设网站空间续费后网页不能打开
  • phpcms可以做哪些网站wordpress生成二维码
  • 站群管理系统cms任务发布插件wordpress
  • 江苏城乡住房建设部网站潍坊专业网站制作公司营销
  • 天津微信网站开发门户网站建设询价函
  • 济南做网站的公司有哪些wordpress 文章字体
  • 怎么把网站扒下来网站所有页面只显示域名
  • 建设网站你认为需要注意哪些问题应聘网站运营建设面试
  • 可以查企业备案的网站吗网络营销策略优化
  • 做中国最专业的健康门户网站wordpress升级说版本低
  • 周至做网站公司部门分类
  • html网站开发例子郑州网站推广报价
  • 网站建设公司做销售前景好不好河南智慧团建网站登录
  • 网站如何让百度收录营销策划方案1000例
  • 株洲网站建设 李阿里云网站建设
  • 网站建设页面设计之后企业整站seo
  • 福鼎手机网站建设湛江网站建设公司哪家好
  • 响应式企业网站建设局网站建设情况
  • 网站空间在线解压社交网站开发用到的技术
  • 做网站外包群关键词搜索引擎工具爱站
  • 江永网站建设wordpress插件外贸
  • 医疗网站如何做优化中国建设银行个人查询余额