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

中文企业网站模板免费下载百度指数app

中文企业网站模板免费下载,百度指数app,徐州市中心做网站的公司招聘,wordpress 显示全部分类目录 调什么,如何调 内存方面 线程方面 如何调优 调优的目标,策略和冷思考 JVM调优的目标 常见调优策略 JVM调优冷思考 调优经验与内存泄漏分析 JVM调优经验 内存泄露 调什么,如何调 内存方面 JVM需要的内存总大小各块内存分配,新生代、老年代、存活区选…

目录

调什么,如何调

内存方面

线程方面

如何调优

调优的目标,策略和冷思考

JVM调优的目标

常见调优策略

JVM调优冷思考

调优经验与内存泄漏分析

JVM调优经验

内存泄露


  • 调什么,如何调

  • 内存方面

  • JVM需要的内存总大小
  • 各块内存分配,新生代、老年代、存活区
  • 选择合适的垃圾回收算法、控制GC停顿次数和时间
  • 解决内存泄露的问题,辅助代码优化
  • 内存热点:
    • 检查哪些对象在系统中数量最大,辅助代码优化
  • 线程方面

  • 死锁检查,辅助代码优化
  • Dump线程详细信息:
    • 查看线程内部运行情况,查找竞争线程,辅助代码优化
  • CPU热点:
    • 检查系统哪些方法占用了大量CPU时间,辅助代码优化
  • 如何调优

  • 监控JVM的状态,主要是内存、线程、代码、I/O几个部分
  • 分析结果,判断是否需要优化
  • 调整:垃圾回收算法和内存分配;修改并优化代码
  • 不断的重复监控、分析和调整,直至找到优化的平衡点
  • 调优的目标,策略和冷思考

  • JVM调优的目标

  • GC的时间足够的小
  • GC的次数足够的少
  • 将转移到老年代的对象数量降低到最小
  • 减少Full GC的执行时间
  • 发生Full GC的间隔足够的长
  • 常见调优策略

  • 减少创建对象的数量
  • 减少使用全局变量和大对象
  • 调整新生代、老年代的大小到最合适
  • 选择合适的GC收集器,并设置合理的参数
  • JVM调优冷思考

  • 多数的Java应用不需要在服务器上进行GC优化
  • 多数导致GC问题的Java应用,都不是因为参数设置错误,而是代码问题
  • 在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合)
  • JVM优化是到最后不得已才采用的手段
  • 在实际使用中,分析JVM情况优化代码比优化JVM本身要多得多
  • 如下情况通常不用优化:
    • Minor GC执行时间不到50ms
    • Minor GC执行不频繁,约10秒一次
    • Full GC执行时间不到1s
    • Full GC执行频率不算频繁,不低于10分钟1次
  • 调优经验与内存泄漏分析

  • JVM调优经验

  • 要注意32位和64位的区别,通常32位的仅支持2-3g左右的内存
  • 要注意client模式和Server模式的选择
  • 要想GC时间小必须要一个更小的堆
  • 而要保证GC次数足够少,又必须保证一个更大的堆,这两个是有冲突的,只能取其平衡
  • 针对JVM堆的设置,一般可以通过-Xms -Xmx限定其最小、最大值
  • 为了防止垃圾收集器在最小、最大之间收缩堆而产生额外的时间,通常把最大、最小设置为相同的值
  • 新生代和老年代将根据默认的比例(1 : 2)分配堆内存,可以通过调整二者之间的比率NewRadio来调整
  • 也可以通过-XX:newSize -XX:MaxNewSize来设置其绝对大小
  • 同样,为了防止新生的堆收缩,通常会把-XX:newSize -XX:MaxNewSize设置为同样大小
  • 合理规划新生代和老年代的大小
  • 如果应用存在大量的临时对象,应该选择更大的新生代
  • 如果存在相对较多的持久对象,老年代应该适当增大
  • 在抉择时应该本着Full GC尽量少的原则,让老年代尽量缓存常用对象,JVM的默认比例1 : 2也是这个道理
  • 通过观察应用一段时间,看其在峰值时老年代会占多少内存,在不影响Full GC的前提下,根据实际情况加大新生代,但应该给老年代至少预留1/3的增长空间
  • 线程堆栈的设置:
  • 每个线程默认会开启1M的堆栈,用于存放栈帧、调用参数、局部变量等,对大多数应用而言这个默认值太大了,一般256K就足用
  • 在内存不变的情况下,减少每个线程的堆栈,可以产生更多的线程
  • 内存泄露

  • 内存泄露导致系统崩溃前的一些现象,比如:
    • 每次垃圾回收的时间越来越长,Full GC时间也延长到好几秒
    • Full GC的次数越来越多,最频繁时隔不到1分钟就进行一次Full GC
    • 老年代的内存越来越大,并且每次Full GC后老年代没有内存被释放
  • 老年代堆空间被占满的情况
  • 这种情况的解决方式:
    • 一般就是根据垃圾回收前后情况对比,同时根据对象引用情况分析,辅助去查找泄漏点
  • 堆栈溢出的情况
  • 通常抛出java.lang.StackOverflowError例外
  • 一般就是递归调用没退出,或者循环调用造成
http://www.hkea.cn/news/99887/

相关文章:

  • ps做电商网站流程图百度图片识别搜索引擎
  • 做电影网站程序好用武汉网站建设推广公司
  • 如何做b2c网站下列关于友情链接说法正确的是
  • 网站开发中网页上传seo在线网站推广
  • 网站建设报价流程免费培训网站
  • 聊城网站建设服务好最新网域查询入口
  • 一般网站建设流程有哪些步骤官方百度app下载安装
  • 档案网站建设的步骤八大营销方式有哪几种
  • 手机网站免费制作平台semseo
  • 周口市做网站小红书seo排名
  • 网站开始怎么做的ps培训
  • 去哪个网站找题目给孩子做保定百度首页优化
  • 五道口网站建设惠州seo外包服务
  • 如何查看网站是否备案企业宣传册
  • 好的网站建设公司排名互联网宣传推广
  • 上海买二手房做哪个网站好seo快速排名优化
  • 十大中国网站制作免费广告
  • wordpress 文章主题关键词推广seo
  • 佛山网站建设佛山网络推广代运营公司靠谱吗
  • 贵阳疫情最新消息站内seo优化
  • wordpress相关问题深圳百度关键字优化
  • 做国珍新时代 网站陕西seo顾问服务
  • 建立网站怎么做关键字搜索引擎营销的作用
  • 广州手机网站建设宁波seo优化费用
  • 怎么设置网站服务器宁德市教育局官网
  • 查看网站源代码建站可以牛排seo系统
  • 政府网站建设的基本原则百度网盘电脑版
  • 张家港网站建设福州百度快速优化
  • 兼职做网站编辑百度搜索推广开户
  • 谁告诉你j2ee是做网站的宁波网站推广找哪家公司