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

网站管理制度建设做视频自媒体要投稿几个网站

网站管理制度建设,做视频自媒体要投稿几个网站,制造业小程序网站开发,怎么建设一个电影网站1. 背景 java8中默认使用parallel scavenge parallel old的组合。当然我们也可使用parnew cms或g1的方案。 在实际应用过程中,如果ygc和fgc都比较少,如ygc一天几次或者一小时几次,其实我们都不用关心垃圾回收器的选型。因为垃圾回收器的改…

1. 背景

java8中默认使用parallel scavenge + parallel old的组合。当然我们也可使用parnew + cms或g1的方案。
在实际应用过程中,如果ygc和fgc都比较少,如ygc一天几次或者一小时几次,其实我们都不用关心垃圾回收器的选型。因为垃圾回收器的改变带来的性能提升几乎可以忽略。
然而,在大流量高并发场景下,如果一分钟出现1次或者多次ygc的话,那么我们评估使用场景,选择合适的垃圾回收器就显得更有价值。
另外,其实在实际应用过程中很少会出现fgc的情况,即使大流量的服务,基本都是在执行ygc,有时候可能几天才会出现一次fgc甚至很久都不出现。而且,线上活跃的应用一般都会持续迭代,可能3/5天上线一次,每次服务发布,之前积压的内存就清理了,几乎不会触发fgc。

2. 对比

接下来我们对比一下上述三种搭配的适用场景:

2.1 parallel scavenge+ parallel old

启动参数:-XX:+UseParallelGC(新生代)和 -XX:+UseParallelOldGC(老年代),一般默认,不用手动配置。

特点:

多线程并行回收新生代(Parallel Scavenge)和老年代(Parallel Old)。
默认以最大化吞吐量(应用运行时间占比)为目标。
适合多核服务器环境,但对延迟敏感的应用可能不友好。

适用场景:后台计算密集型任务(如批处理),不追求低延迟。

实战示例:8C16G机器

-Xms8192m
-Xmx8192m
-XX:MaxMetaspaceSize=512m
-XX:MetaspaceSize=512m
-XX:MaxDirectMemorySize=1024m
-XX:ConcGCThreads=4
-XX:ParallelGCThreads=8
-Xmn4096m
-XX:CICompilerCount=3
-XX:+UnlockExperimentalVMOptions
-XX:+ParallelRefProcEnabled
-XX:+HeapDumpOnOutOfMemoryError
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationStoppedTime
-Xloggc:/export/Logs/xxx/gc.log
-XX:GCLogFileSize=1024M
-XX:+HeapDumpAfterFullGC
-XX:HeapDumpPath=/export/Logs/xxx/fgcdump.log

2.2 parnew + cms

启动参数:-XX:+UseConcMarkSweepGC,需要手动配置,同时还需要其他参数,后文列出。

特点:

老年代使用并发标记清除算法,尽量减少停顿时间。
新生代默认使用ParNew回收器(多线程)。
通过并发标记减少STW时间,但存在内存碎片问题。
注意:Java 8中仍可用,但在后续版本(Java 9+)被标记为废弃(Deprecated),最终在Java 14中被移除。

适用场景:对延迟敏感的中大型应用(如Web服务)。
搭配参数:

参数含义示例
-XX:ParallelGCThreads并行GC线程的数量(ncpu <= 8 : ParallelGCThreads = ncpus,ncpu > 8 : 8 + (ncpus - 8) ( 5/8 ))-XX:ParallelGCThreads=8
-XX:+UseParNewGC年轻代使用ParNew-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC老年代使用CMS-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabledJVM会在CMS的并发标记阶段(Concurrent Marking Phase)触发类卸载,释放不再使用的类元数据占用的内存-XX:+CMSClassUnloadingEnabled
-XX:+UseCMSInitiatingOccupancyOnly只用设定的回收阈值,如果不指定,JVM仅在第一次使用设定值,后续则自动调整-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction老年代允许的最大使用率,达到则触发old gc-XX:CMSInitiatingOccupancyFraction=75
-XX:+CMSParallelRemarkEnabled在CMS GC前启动一次ygc,目的在于减少old gen对ygc gen的引用,降低remark时的开销,一般CMS的GC耗时 80%都在remark阶段-XX:+CMSParallelRemarkEnabled
-XX:CICompilerCount热点编译器线程数(2 + int(max(0, cpu_core_num - 2) * 0.25)最低2核,超出2核的部分拿出25%来热点编译)-XX:CICompilerCount=3
-XX:ConcGCThreadsCMS下是(ParallelGCThreads + 3) / 4 向下取整, G1下是ParallelGCThreads / 4-XX:ConcGCThreads=4

实战示例:8C16G机器

-Xms8192m
-Xmx8192m
-XX:MaxMetaspaceSize=512m
-XX:MetaspaceSize=512m
-XX:MaxDirectMemorySize=1024m
-XX:ConcGCThreads=4
-XX:ParallelGCThreads=8
-Xmn4096m
-XX:CICompilerCount=3
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+UnlockExperimentalVMOptions
-XX:+CMSClassUnloadingEnabled
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=75
-XX:+ExplicitGCInvokesConcurrent
-XX:+ParallelRefProcEnabled
-XX:+CMSParallelRemarkEnabled
-XX:+HeapDumpOnOutOfMemoryError
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationStoppedTime
-Xloggc:/export/Logs/xxx/gc.log
-XX:GCLogFileSize=1024M
-XX:+HeapDumpAfterFullGC
-XX:HeapDumpPath=/export/Logs/xxx/fgcdump.log

2.3 g1

启动参数:-XX:+UseG1GC,需要手动配置,同时还需要其他参数,后文列出。

特点:

将堆划分为多个区域(Region),优先回收垃圾最多的区域。
可预测的停顿时间模型,支持大堆(数十GB到上百GB)。
混合了标记-整理和复制算法,减少内存碎片。
注意:Java 7u4引入,Java 9+成为默认回收器。

适用场景:需要平衡吞吐量和延迟的大型应用(如企业级服务)。
搭配参数(cms体系中描述过的这里不再赘述,见示例):

参数含义示例
-XX:+UseG1GC使用G1垃圾回收器-XX:+UseParNewGC
-XX:MaxGCPauseMillis设置 G1 的暂停时间目标。这会告诉 G1 试图将 GC 暂停时间控制在指定的毫秒数内-XX:MaxGCPauseMillis=50
-XX:G1HeapRegionSize设置 G1 的堆区域大小。堆被划分为多个区域(Region),G1 GC 在这些区域上进行垃圾收集。设置合适的区域大小可以帮助提高垃圾回收效率。()-XX:G1HeapRegionSize=16m

实战示例:8C16G机器

-Xms8192m
-Xmx8192m
-XX:MaxMetaspaceSize=512m
-XX:MetaspaceSize=512m
-XX:MaxDirectMemorySize=1024m
-Xmn4096m
-XX:ConcGCThreads=2
-XX:ParallelGCThreads=8
-XX:CICompilerCount=3
-XX:+UseG1GC
-XX:MaxGCPauseMillis=50
-XX:+UnlockExperimentalVMOptions
-XX:+ParallelRefProcEnabled
-XX:+HeapDumpOnOutOfMemoryError
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationStoppedTime
-Xloggc:/export/Logs/xxx/gc.log
-XX:GCLogFileSize=1024M
-XX:+HeapDumpAfterFullGC
-XX:HeapDumpPath=/export/Logs/xxx/fgcdump.log

3. 总结

后台计算密集型任务(如批处理),不追求低延迟。场景下使用默认配置,即parallel scavenge + parallel old。对延迟敏感的中大型应用(如Web服务)使用parnew + cms。需要平衡吞吐量和延迟的大型应用(如企业级服务)使用g1。
C端高并发应用优先考虑parnew + cms 或 g1,但具体的选型还需根据实际场景评估,如果很难评估的情况下,可以同分组内A B两台机器,上线后观察分析gc日志以及在流量高峰期的cpu表现。


文章转载自:

http://SErKHhRO.mydgr.cn
http://3lgtAzny.mydgr.cn
http://nZOessKx.mydgr.cn
http://pTz9MdUd.mydgr.cn
http://Bb4FY1iL.mydgr.cn
http://EDsCTVyJ.mydgr.cn
http://0JxS7K8x.mydgr.cn
http://wprDM1lp.mydgr.cn
http://CPZlBx04.mydgr.cn
http://DbEirnE9.mydgr.cn
http://rfbroGk8.mydgr.cn
http://i9kVnXUY.mydgr.cn
http://4N7R4fW6.mydgr.cn
http://OZoJuoZT.mydgr.cn
http://BQYW9lVC.mydgr.cn
http://Abos9l8P.mydgr.cn
http://Pj2XYCln.mydgr.cn
http://SHNlCHKa.mydgr.cn
http://vUSEhWA8.mydgr.cn
http://7Wk13RHH.mydgr.cn
http://i9VzjmM5.mydgr.cn
http://CmYI3Lnd.mydgr.cn
http://2F0FgQWV.mydgr.cn
http://GpM11AqX.mydgr.cn
http://vLJX6Q3w.mydgr.cn
http://gC9lhms1.mydgr.cn
http://AY2T6Qqz.mydgr.cn
http://3e24GCyI.mydgr.cn
http://o5OCGoKP.mydgr.cn
http://gXuIFe67.mydgr.cn
http://www.dtcms.com/wzjs/620143.html

相关文章:

  • 深圳市建设交易中心官网seo经验
  • 高端网站定制的方法网站如何增加流量
  • 网站教程网为啥都用wordpress
  • 网站开发自学网风景网页设计图片
  • 什么软件可以找做网站的云南人
  • 自已建外贸网站深圳网站设计营销型
  • 科技建筑公司网站外贸自建站费用
  • 贵阳网站建设服务公司百度关键词排行榜
  • 网站被抓取简述网站建设的五类成员
  • html5网站链接标签标书制作员工作内容
  • 泗洪网站手机怎么样自己做网站
  • 面包机做面包网站网站开发用什么字体
  • 鄂伦春网站建设企业网站建设好处
  • 哈尔滨建设厅官方网站汽车专业科技网站建设
  • 黄金网站网站建设描述怎么写
  • 自己做的网站如何兼容前端静态网页模板
  • 怎么自己创立网站门户网站做pos机
  • 17网站一起做网店东莞wordpress删除中文
  • 网站设计说明书5000字昌乐网站制作
  • php企业网站开发网站被k怎么
  • 山西省和城乡建设厅网站海洋承德网站建设公司
  • 有没有交流做服装的网站wordpress防止查看源
  • 淄博有做互联网广告的公司seo搜索工具栏
  • 织梦建站教程全集牛商网抖音培训
  • 做的网站如何全屏代码推广做网站莱芜
  • 网站风格定位怎么写黄岐做网站
  • 特色设计网站推荐快速搭建论坛
  • 网站建设阿里云搭建个人网站网站未及时续费
  • 郑州哪里做网站汉狮内蒙古生态文明建设相关网站
  • 网站建设怎么比较安全做公司网站可以抄别人的吗