求助 怎么排查 c++程序的内存占用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
lookingmoon

求助 怎么排查 c++程序的内存占用

  •  
  •   lookingmoon Dec 2, 2022 2283 views
    This topic created in 1241 days ago, the information mentioned may be changed or developed.
    大概有 600w 的业务订单数据
    服务启动后内存一直在增加,最终服务器上能占用 120G 。之后就稳定下来了
    通过 valgrind 跑的话没发现内存泄漏的问题,但是最终占用也基本是 120 多 G 是一样的。
    有没有什么办法 能分析到究竟是程序哪里开辟和占用的过高呢?
    9 replies    2022-12-05 10:57:17 +08:00
    lookingmoon
        1
    lookingmoon  
    OP
       Dec 2, 2022
    求大佬们指点指点 help~
    imggyyll
        2
    imggyyll  
       Dec 2, 2022
    jemalloc 或者 tcmalloc 的 profile 功能,也可以看看 /proc/pid/smaps
    jones2000
        3
    jones2000  
       Dec 2, 2022
    使用自己的内存池, 所有内存分配都走自己的内存池。内存池里面的内存块头上加点信息,好定位内存使用的地方,然后就打印信息,慢慢找了。
    litmxs"
        4
    litmxs  
       Dec 2, 2022 via Android
    Google Perf Tools
    litmxs
        5
    litmxs  
       Dec 2, 2022 via Android
    这么大的内存不知道 profile 工具能不能跑起来,最好能定位到小点的模块后单独抽出来做 profile
    noErr
        6
    noErr  
       Dec 2, 2022
    能调试的话,就很方便了,运行一会,diff 一下内存
    lookingmoon
        7
    lookingmoon  
    OP
       Dec 2, 2022
    @noErr 可以 gdb diff 内存怎么操作 我是菜鸡……
    Nemodontcry
        8
    Nemodontcry  
       Dec 3, 2022
    hook 一下 malloc
    theniupa
        9
    theniupa  
       Dec 5, 2022
    linux 环境?试试 malloc_trim?
    About     Help     Advertise     Blog     API     FAQ     Solana     5953 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 03:11 PVG 11:11 LAX 20:11 JFK 23:11
    Do have faith in what you're doing.
    ubao msn 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