V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pmispig
V2EX  ›  Java

对于 spring web 应用, jvm old generation 是不是应该设置小一点比较合理?

  •  
  •   pmispig · 2021-06-17 14:58:10 +08:00 · 1600 次点击
    这是一个创建于 1288 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如 Xmx4g , old generation 应该 512m 就够了?
    看网上很多都说建议 1 比 1. 像 web 应该,持久化的对象应该不太多吧?有点疑惑.
    8 条回复    2021-06-20 19:58:32 +08:00
    fkname
        1
    fkname  
       2021-06-17 15:43:49 +08:00
    一般都是老年代比新生代大吧,因为老年代会接收新生代的对象,如果老年代空间不足会导致 oom
    linbiaye
        2
    linbiaye  
       2021-06-17 15:58:52 +08:00
    具体情况具体分析吧,web 大多数请求生成的 object 都是用完就丢,old generation 都是 spring 的 bean 和容器生成的 object,确实不用太大,4g 先给个 1g 然后观察下是否可以继续缩减。
    hhjswf
        3
    hhjswf  
       2021-06-17 16:58:46 +08:00
    @fkname 老年代满了不是 full gc 吗
    securityCoding
        4
    securityCoding  
       2021-06-17 19:29:34 +08:00
    这是条不归路,上 G1
    fkname
        5
    fkname  
       2021-06-17 19:40:27 +08:00
    @hhjswf full gc 后还是不够呢?
    chendy
        6
    chendy  
       2021-06-17 20:48:21 +08:00
    看用不用应用内缓存( guava cache 之类的),用的话多给点,不用的话少给
    注意观察 gc 情况慢慢调就行
    tachikomachann
        7
    tachikomachann  
       2021-06-17 21:00:56 +08:00 via Android
    设一下 xmx,xms 和一些常见参数,然后线上运行一段时间看看,或者压测看下结果。
    很多应用的使用场景还不需要调优。
    hdfg159
        8
    hdfg159  
       2021-06-20 19:58:32 +08:00 via Android
    毕竟单例对象可能较多,按照默认 1 比 1 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5323 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:48 · PVG 13:48 · LAX 21:48 · JFK 00:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.