news 2026/5/3 5:11:00

JAVA的平凡之路——此峰乃是最高峰JVM-附加小菜-04

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JAVA的平凡之路——此峰乃是最高峰JVM-附加小菜-04
图1.1

每台机器300/s,每个订单对象假设1KB,300KB/s

可能会涉及其他对象放大20倍,并且可能涉及其他操作情况,再放大10 300*20*10 大约每秒60MB/s

当前堆内存 3072 MB,新生代占1/3,大约 1g ,并且eden 8/10.,s1和s2分别 1/10,分别800、100、100MB

能否JVM优化,几乎不发生FullGC

运行14秒左右eden区会占满 所以 14秒会执行一次MinorGC

正常Web 0.05的生命存活率

800 * 0.05 = 40 M

按照年龄为 15 每次晋升

40m/ 15 = 2.6 mb/次

2024/2.6=778 次

778 * 14 / 60 = 181 分钟 = 3 小时 但是我们按照的是最小情况

如果 由于s1 、s2空间不足 导致大量对象直接老年代呢,那么2.6可能不太现实,可能更贴切的是

正常晋升不太贴切现实正常来说,25%可能更贴近 40 * 0.25 = 10 m/次

2048/10 = 204次

204 * 14 / 60 = 46 分钟 那么 你就g了

主要的原因是因为 minorgc 速度太快 那么把它扩大 速度降下来那么 降下来

1600 eden区 s1 200 s2 200 老年代 1024

28秒占满 eden

1600 * 0.05 = 80M

80 * 0.25 = 20m

1024 / 20 = 52

52 * 28 / 60 = 46分钟

是不是感觉算的一样,你没算错,我们没有加上s1、s2区的变量,它比原来大了一倍,那么在分代年龄处理时,它会比原有方案 更复合正常晋升 那么 按照 每次晋升 为 10mb

那么fullgc的时间会被延长到 1个半小时,但是峰值已经过去可能gc就已经可以稳定处理了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 14:53:01

【time-rs】Duration 结构体详解

这是一个 Rust 时间库中的 Duration 结构体实现,提供高精度的时间跨度表示。 1. 主要特性 纳秒级精度:由整秒和纳秒部分组成支持负值:与标准库的 std::time::Duration 不同,支持负时间间隔安全边界检查:使用 RangedI32…

作者头像 李华
网站建设 2026/4/30 23:34:45

10398_基于SSM的教学评价管理系统

1、项目包含项目源码、项目文档、数据库脚本、软件工具等资料;带你从零开始部署运行本套系统。2、项目介绍教学评价系统是以Java平台作为开发环境,采用MySQL数据库作为后台,使用Eclipse作为开发工具进行设计。本系统主要实现了教学评价模块、…

作者头像 李华
网站建设 2026/5/2 11:10:32

Go语言变量

Go变量声明的核心机制 静态类型语言要求变量在使用前必须声明,明确内存边界。Go作为静态语言,通过变量声明实现这一机制: 变量绑定特定内存区域,类型信息确定操作边界声明形式为:var 变量名 类型 值未显式初始化时自动…

作者头像 李华
网站建设 2026/5/1 0:05:53

【高可用系统架构】

系统高可用实现手段 冗余与无单点设计 部署关键节点时避免单点故障,例如负载均衡采用双节点Keepalived方案(如Nginx/HAProxy/LVS),通过虚拟IP实现故障自动切换。网络通信配置多线路(如移动电信双线)&#x…

作者头像 李华
网站建设 2026/4/30 23:35:02

高频软件测试基础面试题

在软件测试的面试过程中,面试官会问些基础的软件测试知识,下面为大家整理了一些高频软件测试面试必备的基础题,拿走不谢~ 一、什么是软件测试 为了发现程序中的错误而执行程序的过程。 二、软件测试的原则 1、完全测试程序是不可能的 2、…

作者头像 李华
网站建设 2026/4/30 23:34:57

如何准确判断json文件并且拿到我想要的信息

写在前面,自从发现拿到json解析后的文件中有我们想要的信息后,我稍微有点迷上这种方法,但是拿到内容后要怎么拿到想要的信息呢,字典列表相互嵌套,我头都晕了方法:首先就是把json解析后的文本保存成.json的形…

作者头像 李华