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

【原创分享】JVM服务调优实战

服务器:8 cup, 8G mem

调优e.g.参数

java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0

调优方案解读:

  • -Xmx5g:设置JVM最大可用内存为5G。
  • -Xms5g:设置JVM初始内存为5G。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
  • -Xmn2g:设置年轻代大小为2G。整个堆内存大小 = 年轻代大小 + 年老代大小 + 持久代大小 。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
  • -XX:+UseParNewGC:设置年轻代为并行收集。可与CMS收集同时使用。JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值。
  • -XX:ParallelGCThreads=8:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相等。
  • -XX:SurvivorRatio=6:设置年轻代中Eden区与Survivor区的大小比值。根据经验设置为6,则两个Survivor区与一个Eden区的比值为2:6,一个Survivor区占整个年轻代的1/8。
  • -XX:MaxTenuringThreshold=30: 设置垃圾最大年龄(次数)。如果设置为0的话,则年轻代对象不经过Survivor区直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值 设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概率。设置为30表示 一个对象如果在Survivor空间移动30次还没有被回收就放入年老代。
  • -XX:+UseConcMarkSweepGC:设置年老代为并发收集。测试配置这个参数以后,参数-XX:NewRatio=4就失效了,所以,此时年轻代大小最好用-Xmn设置,因此这个参数不建议使用。

http://www.kler.cn/a/379022.html

相关文章:

  • Spring框架的事务管理
  • 相机硬触发
  • net core Autofac 替换默认的服务容器 DI,微软自动的容器 不支持命名选项的
  • PHP JSON 教程
  • 【AIGC】如何充分利用ChatGPT:有效提示框架与基本规则
  • LeetCode 19. 删除链表的倒数第 N 个结点(java)
  • Vue+element-ui实现网页右侧快捷导航栏 Vue实现全局右侧快捷菜单功能组件
  • selenium自动搭建
  • 数字化装配助力柔性制造与快速换型,驱动效率飞跃
  • chrome编辑替换js文件的图文教程
  • STL--哈希
  • BeanDefinition体系架构(待...)
  • 大数据挖掘和数据挖掘有什么不一样?
  • (C#面向初学者的 .NET 的生成 AI) 第 2 部分-什么是 AI 和 ML?
  • Nginx 实现动态封禁IP,详细教程来了
  • Linux特种文件系统--tmpfs文件系统
  • yarn : 无法加载文件,未对文件 进行数字签名。无法在当前系统上运行该脚本。
  • [Android]从FLAG_SECURE禁止截屏看surface
  • 雷电模拟器ls内部操作adb官方方法
  • VScode + PlatformIO 了解
  • WMV怎么转MP4?五个简单好用的视频格式转换方法!
  • Faces in Things数据集: 由麻省理工学院、微软等联合发布,探索人类视觉错觉的新里程碑
  • 每日OJ题_牛客_最长上升子序列(二)_贪心+二分_C++_Java
  • 做一个能适配「手机」的网站需要注意什么
  • 匹配——rabin_karp是怎么滚动的?
  • 多波束T50P和SES2000 Medium100安装记录(2024年10月)