SpringBoot 的应用程序实在太大了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yemoluo
V2EX    Java

SpringBoot 的应用程序实在太大了

  •  
  •   yemoluo 2023-02-25 15:52:10 +08:00 6735 次点击
    这是一个创建于 958 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个 Spring Boot 程序,占用内存 11G ,包大小 1G ,哭晕啊

    大家都是怎么瘦身的啊

    45 条回复    2023-03-08 10:00:07 +08:00
    misaka19000
        1
    misaka19000  
       2023-02-25 15:53:24 +08:00 via Android
    什么程序占这么多内存?
    kisick
        2
    kisick  
       2023-02-25 15:54:31 +08:00
    jar 包大小 1G?
    Ufo666
        3
    Ufo666  
       2023-02-25 15:55:21 +08:00
    好好奇
    k9982874
        4
    k9982874  
       2023-02-25 15:57:38 +08:00 via Android   5
    你是把片儿塞里面了吗?
    javahuang
        5
    javahuang  
       2023-02-25 16:08:56 +08:00   2
    你是塞啥了...我的问卷系统,前端+后端+数据库塞到一个 SpringBoot 的 fat jar 里面,也才 50M 而已 https://gitee.com/surveyking/surveyking
    herozzm
        6
    herozzm  
       2023-02-25 16:11:04 +08:00
    没有啊,就几十 M
    KevinBlandy
        7
    KevinBlandy  
       2023-02-25 16:18:26 +08:00
    我们一个工程打包 200Mb 已经觉得够离谱了。1G 是咋来的?你是装了大象么。。。
    proxychains
        8
    proxychains  
       2023-02-25 16:22:07 +08:00   4
    是不是把 node_modules 也放进去了
    yemoluo
        9
    yemoluo  
    OP
       2023-02-25 16:25:50 +08:00
    回楼上的,我也不知道啊,我还没看源码
    Hanggi
        10
    Hanggi  
       2023-02-25 16:49:57 +08:00
    Java 整体占用资源会大一些,不管是文件大小还是内存
    xwayway
        11
    xwayway  
       2023-02-25 16:53:34 +08:00 via iPhone
    @javahuang 这不活捉了么,公司的问卷系统有借鉴你的代码。哈哈
    echo1937
        12
    echo1937  
       2023-02-25 17:05:25 +08:00
    能贴一下 pom 文件吗,2023 年了 1G 大小的包也是不多见。
    kwh
        13
    kwh  
       2023-02-25 17:16:53 +08:00
    用 SpringBoot 写了一个操作系统?
    lower
        14
    lower  
       2023-02-25 17:26:56 +08:00
    是不是把上传的图片、附件等文件都存在资源目录了?
    开发测试的时候传了一大堆被打包进去了?
    zhaokun
        15
    zhaokun  
       2023-02-25 17:32:22 +08:00 via iPhone
    不是 springboot 的锅,去找造锅的去吧
    yidinghe
        16
    yidinghe  
       2023-02-25 17:46:49 +08:00 via Android
    有时候是设计架构的问题,加入了太多不必要的和重复的依赖关系,比如工具库就使用了 commons ,guava 和 hutool 三种,因为太多人经手开发,每个人又有不同的喜好。
    howfree
        17
    howfree  
       2023-02-25 17:59:24 +08:00
    不可能,绝对不可能
    allenzhangSB
        18
    allenzhangSB  
       2023-02-25 18:08:25 +08:00
    @yidinghe 加了再多依赖也不可能这么大, 这铁定自己的问题
    blankmiss
        19
    blankmiss  
       2023-02-25 18:11:26 +08:00
    和 4 楼一样 你是不是塞片在里面了
    besscroft
        20
    besscroft  
       2023-02-25 18:13:34 +08:00   3
    快看看源码里面有没有张小聋( doge
    wangxiaoaer
        21
    wangxiaoaer  
       2023-02-25 18:15:31 +08:00
    各位听我说一句,还有一种可能:这个应用可能是支持多个甲方复用的,个别定制内容比如 logo 这种不敏感的就懒得安装后手动配置,索性作为资源一起打包,启动的时候按照不同的 profile 启动。俺们之前干过,一个包 900 多 M 好像,但是运行不会占用那么高。
    dqzcwxb
        22
    dqzcwxb  
       2023-02-25 18:25:43 +08:00   1
    "占用内存 11G" 我猜你服务器是 32G 的
    wellerman
        23
    wellerman  
       2023-02-25 18:41:10 +08:00
    SSD 杀手,分包打,把依赖全部打成独立子包。
    yazinnnn
        24
    yazinnnn  
       2023-02-25 18:54:43 +08:00
    里面赛了一个实况足球吗?
    cslive
        25
    cslive  
       2023-02-25 18:55:42 +08:00
    不是不相信你,就是想开开眼界,pom 是啥样的
    selfi
        26
    selfi  
       2023-02-25 19:02:37 +08:00
    目测和 SpringBoot 没啥关系
    v2e0xAdmin2
        27
    v2e0xAdmin2  
       2023-02-25 19:06:01 +08:00
    和 springboot 没关系,springboot 可以几十兆,也可以几十 g 。
    Nazz
        28
    Nazz  
       2023-02-25 19:07:20 +08:00
    转 go 吧
    Nazz
        29
    Nazz  
       2023-02-25 19:08:22 +08:00
    就算是 Java, 11G 也太离谱了, 这是造了一个 redis 吗
    feitxue
        30
    feitxue  
       2023-02-25 19:55:06 +08:00
    还没看源码 就来发帖了。。。是来消遣大家的?
    anonymous2351d00
        31
    anonymous2351d00  
       2023-02-25 20:09:36 +08:00
    @javahuang 偶遇卷王
    TaylorBu
        32
    TaylorBu  
       2023-02-25 20:11:33 +08:00
    @k9982874 以前还真见过把游戏塞里边的
    iseki
        33
    iseki  
       2023-02-25 20:15:56 +08:00
    坐等后续,干什么能把 jar 包弄得这么大啊
    不过想想我们的实现,如果把所有外部依赖放进 jar 包,运行时释放,可能也超过 1 个 G 了
    nkidgm
        34
    nkidgm  
       2023-02-25 20:21:15 +08:00
    估计是把静态资源打包进去了,包括图片,离线数据库之类的 asset 。
    silentsky
        35
    silentsky  
       2023-02-25 20:42:37 +08:00 via Android
    代码有问题吧 内存 11g 是少见
    hhjswf
        36
    hhjswf  
       2023-02-25 20:49:52 +08:00 via Android   2
    之前看某公众号说个梗,打完包传到内网,传了半天,仔细一看好几个 g ,解开一看里头有毛片。原来是每次半夜上线无聊就看片,有个人才传到 svn 上
    thetbw
        37
    thetbw  
       2023-02-25 20:58:09 +08:00
    jenkins 启动就占用 1g 多内存我就觉得够离谱得了,关键我后台还没跑任何构建
    Nnq
        38
    Nnq  
       2023-02-26 05:07:12 +08:00
    包的话 瘦身一下 base image 吧 内存的话 可以监控一下是预留内存还是实际消耗内存大小
    superares
        39
    superares  
       2023-02-26 07:30:18 +08:00 via Android
    直接把 jar 包解压看下里面是啥不就知道了
    abcbuzhiming
        40
    abcbuzhiming  
       2023-02-26 11:51:06 +08:00
    @thetbw 有一说一 jenkins 启动确实要占这么大的内存
    lance26
        41
    lance26  
       2023-02-26 15:04:44 +08:00
    默认 jvm 占物理内存 1/4 ?
    loszhang
        42
    loszhang  
       2023-02-27 13:48:41 +08:00
    我怀疑你是黑子,但是我没有理由。就好像你说 springboot 占用内存 11G ,jar 包 1G ,但又不说到底是什么占用的。
    xiaocaiji111
        43
    xiaocaiji111  
       2023-03-01 10:26:13 +08:00
    1G ,老夫 7 年的代码白写了,开了眼界了今天
    jackiejkl
        44
    jackiejkl  
       2023-03-06 09:40:37 +08:00
    @loszhang 小黑子蒸虾头
    coderstory
        45
    coderstory  
       2023-03-08 10:00:07 +08:00
    jprofiles 分析下内存
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1253 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 17:17 PVG 01:17 LAX 10:17 JFK 13:17
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86