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

wordpress 文章回收站开设计工作室赚钱吗

wordpress 文章回收站,开设计工作室赚钱吗,青岛logo设计价格,百度代发排名文章目录 1、-Xmx 和 –Xms2、-XX:MaxMetaspaceSize 和 –XX:MetaspaceSize3、-Xss4、不建议改的参数5、其他参数6、选择GC回收器的调试思路7、CMS的并发模式失败现象的解决8、调优案例 GC问题解决方式#xff1a; 优化JVM基础参数#xff0c;避免频繁Full GC减少对象的产生… 文章目录 1、-Xmx 和 –Xms2、-XX:MaxMetaspaceSize 和 –XX:MetaspaceSize3、-Xss4、不建议改的参数5、其他参数6、选择GC回收器的调试思路7、CMS的并发模式失败现象的解决8、调优案例 GC问题解决方式 优化JVM基础参数避免频繁Full GC减少对象的产生以免对象产生速度过快导致频繁Full GC选择适合业务场景的垃圾回收器优化垃圾回收器的参数 1、-Xmx 和 –Xms -Xmx设置最大堆内存(max)-Xms设置可用堆内存大total 计算理论最大可用堆空间如服务器内存4G操作系统自己使用的内存元空间最大值其它软件占用1.5G ⇒ 理论最大可用堆空间为2.5g只是理论值。减去元空间是因为Java 8及以后元空间使用的是直接内存 最后设置的堆内存大小应是按照系统最大并发估计且小于上面的理论值。最后将-Xms设置的和-Xmx一样大理由 可用内存一开始就等于最大堆内存避免堆扩容时频繁向操作系统申请内存影响程序性能避免扩容时因其他应用占用了操作系统内存而申请扩容失败服务启动速度更快初始堆太小Xms太小Java应用启动会变慢因为JVM会被迫频繁垃圾回收直到堆增长到一个合理的大小 2、-XX:MaxMetaspaceSize 和 –XX:MetaspaceSize -XX:MaxMetaspaceSize 最大元空间。默认值比较大万一元空间内存泄漏会影响到操作系统因为元空间用的直接内存 –XX:MetaspaceSize到这个值后触发Full GC后续什么值再触发JVM自行计算。 3、-Xss 指定每个栈的大小不指定取默认值默认值取决于操作系统。如Linux x86 64bit 默认是1MB。如果没有方法的递归调用可调小栈大小 //合理值为256k – 1m之间 -Xss256k4、不建议改的参数 以下参数调整可能会让某一个接口得益但同时也会影响其他接口不建议修改。 1-Xmn年轻代的大小年轻代的大小默认为整个堆的1/3。可根据系统峰值计算年轻代大小以尽量让对象只存在年轻代不进入老年代这样后面Young GC一下就行但计算这个值的影响因素太多不建议改。且G1垃圾回收器会动态调整年轻代的大小更不建议改。 2‐XX:SurvivorRatio 伊甸园区和幸存者区的大小比例默认值为8。3‐XX:MaxTenuringThreshold 最大晋升阈值对象晋升有两个情况 GC一次对象年龄1年龄 此值进入老年代动态年龄判断机制按年龄从小到大将对象空间加起来 survivor区域的50%就把大于等于该年龄的对象晋升到老年代 5、其他参数 -XX:DisableExplicitGC作用禁止在代码中调用System.gc()-XX:HeapDumpOnOutOfMemoryError作用OOM时生成hprof内存快照文件-XX:HeapDumpPathpath作用指定内存快照文件的生成路径-XX:PrintGCDetails -XX:PrintGCDateStamps -Xloggc:文件路径作用JDK8及之前打印GC日志-Xlog:gc*:file文件路径作用JDK9及以后打印GC日志JVM参数模板总结 -Xms1g -Xmx1g -Xss256k -XX:MaxMetaspaceSize512m -XX:DisableExplicitGC -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/opt/logs/my-service.hprof # JDK8 -XX:PrintGCDetails -XX:PrintGCDateStamps# JDK9 -Xloggc:文件路径6、选择GC回收器的调试思路 用以下代码模拟系统的业务代码进行压测 import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; import lombok.SneakyThrows; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.time.Duration; import java.util.ArrayList; import java.util.List; import java.util.Random;RestController RequestMapping(/fullgc) public class DemoController {private Cache cache Caffeine.newBuilder().weakKeys().softValues().build();private ListObject objs new ArrayList();private static final int _1MB 1024 * 1024;//FULLGC测试结果//ps po 50并发 260ms 100并发 474ms 200并发 930ms//cms -XX:UseParNewGC -XX:UseConcMarkSweepGC 50并发 157ms 200并发 833ms//g1 JDK11 并发200 248GetMapping(/1)public void test() throws InterruptedException {cache.put(RandomStringUtils.randomAlphabetic(8),new byte[10 * _1MB]);}} 创建一个具有弱引用键value不存在了可被GC回收和软引用值的缓存对象内存不足时可GC回收接口往里面放10M的数据如此不会OOM且会较多触发FULL GC。用Jmeter并发/1接口的同时再调用一次接口/2用这个接口模拟有突发大对象产生时对系统响应时间的影响 GetMapping(/2) public void test() throws InterruptedException {ArrayListObject objects new ArrayList();for (int i 0; i 1024; i) {objects.add(new byte[3 * _1MB]);} }步骤 Jmeter脚本压测添加RT响应时间组件选择不同的垃圾回收器组合测试50、100、200并发下FULL GC对RT的时间的影响 统一JVM参数设置 -Xms8g -Xmx8g -Xss256k -XX:MaxMetaspaceSize512m -XX:DisableExplicitGC -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPathD:/test.hprof -verbose:gc -XX:PrintGCDetails -XX:PrintGCTimeStamps测试的垃圾回收器组合 ps pocmsJDK11的默认回收器g1 测试场景 高并发/1接口)大对象产生/2接口) 观察RT的结果查看最大值即接口的最大响应时间。峰值的出现即FULL GC对接口响应时间的影响 7、CMS的并发模式失败现象的解决 CMS的垃圾清理线程和用户线程并行 如果并行清理的过程中老年代的空间不足以容纳新晋升到老年代的对象就发生并发模式失败 出现并发模式失败时会导致JVM使用Serial Old单线程进行FULLGC回收老年代这样会产生较长时间的停顿从而影响接口响应时间。解决思路 减少对象的产生以及晋升增加堆内存大小-XX:CMSInitiatingOccupancyFraction值 关于垃圾回收器的参数CMSInitiatingOccupancyFraction当老年代大小达到其值会自动进行CMS老年代垃圾回收。JDK8中该值为-1计算公式 ((100 - MinHeapFreeRatio) (double)(CMSTriggerRatio * MinHeapFreeRatio) / 100.0)最后这个参数想生效必须先开启 -XX:UseCMSInitiatingOccupancyOnly调小这个值比如从默认的90%调到60%早些进行老年代的回收就不会出现并发模式失败也就不会有后面的Serial Old单线程回收老年代。 8、调优案例 案例背景 系统的接口在平时响应较快但高峰期会出现调用时间较长的现象现需要优化性能 分析的方向 GC问题查看是否出现连续的Full GC或者单次GC时间过长内存问题 步骤 生成GC报告GcEasy分析GC有问题就调整参数或者换垃圾回收器内存有问题就jmap或Arthas将堆内存快照保存MAT或者heaphero在线分析内存修复 关于heapherohttps://heaphero.io/ 调优案例https://www.bilibili.com/video/BV1r94y1b7eS?p68vd_sourced86e858b4dfd8944a691759448d35279
http://www.w-s-a.com/news/520393/

相关文章:

  • 微信公众号搭建网站河南卫生基层系统网站建设
  • steam账号注册网站重庆手机版建站系统哪家好
  • 中新生态城建设局门户网站wordpress云盘视频播放
  • 大型网站开发基本流程wordpress记录用户搜索
  • 云服务器安装win系统做网站wordpress边栏扩大尺寸
  • 网站开发面试自我介绍软件下载网站如何建设
  • 可以做翻译任务的网站陕西省建设厅八大员证
  • 昆明 网站推广重庆网页优化seo公司
  • 网站排名下降怎么上去设计一套app页面多少钱
  • 专门用来查找网址的网站查公司名字是否被注册
  • 自己创建网站教程河南省建设厅官方网站李学军
  • 一个网站需要多少容量怎样免费设计网站建设
  • 建设工程交易中心网站12306的网站是哪个公司做的
  • 建设网站经营范围自己给公司做网站
  • 河北省住房建设厅政务网站网络营销推广的岗位职责有哪些
  • 上海网站建设优化价格孝义做网站的公司
  • 哪个公司网站做的最好义乌 网站 制作
  • 百度站长工具综合查询wordpress 上传pdf
  • 旅游短租公寓网站建设深圳龙岗招聘网
  • 做海淘是在哪个网站网络查控系统设计方案
  • o2o网站建设代理商微信公众号开发文档
  • 网站设计课程总结关于网站备案的公告
  • 网站建设与运营意义到哪查找网站域名
  • 网站及单位网站建设情况眉县住房和城市建设局网站
  • 网站是否能够被恶意镜像wordpress占用
  • 经典设计网站网站等保测评怎么做
  • 重庆做网站公司贴吧廊坊公司快速建站
  • 海外贸易在什么网站做怎么排名到百度第一页
  • 线上注册公司是在哪个网站做高仿网站
  • 网站构架图网上推广平台哪个好