请教大家一个 redis 内存占用的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
endice
V2EX    Redis

请教大家一个 redis 内存占用的问题

  •  1
     
  •   endice 2016-12-04 14:49:37 +08:00 6424 次点击
    这是一个创建于 3296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 del 命令删除了 redis 里五分之一的数据,可是 redis 的内存占用并没有下来, rdb 文件可以看到变小了的,只有 redis 重启才会降低内存占用,可是 redis 不能重启的。这是什么原因呢?我删数据就是为了减少内存占用,而且不能重启的,有其他的解决办法吗?

    15 条回复    2017-01-11 18:55:15 +08:00
    erenno1
        1
    erenno1  
       2016-12-04 15:01:26 +08:00
    搞个 slave 同步以下,切换
    mengskysama
        2
    mengskysama  
       2016-12-04 22:59:59 +08:00
    https://redis.io/topics/memory-optimization
    Memory allocation 章节有说的很清楚了, redis 详解里面也有说
    owt5008137
        3
    owt5008137  
       2016-12-05 00:06:52 +08:00 via Android
    如果立刻降下来,你想想要花多少 CPU 做内存碎片整理和内存紧缩呀。那得暂停服务多久呀?
    所以正常的设计都不会让它立刻降下来
    endice
        4
    endice  
    OP
       2016-12-05 00:10:03 +08:00
    @owt5008137 那就是说会慢慢降下来?还是说不会降了,只是后来的分配内存就使用那些释放的?
    endice
        5
    endice  
    OP
       2016-12-05 00:11:23 +08:00
    @mengskysama 我看那个章节里有说会重用这些内存,可是我删除数据后 redis 的内存占用还是一直在增。
    endice
        6
    endice  
    OP
       2016-12-05 00:12:11 +08:00
    @mengskysama 是说尽可能,那我关注下是不是内存增加的速度比以往要慢了
    mengskysama
        7
    mengskysama  
       2016-12-05 00:24:25 +08:00
    @endice 用 info 命令监控一下
    endice
        8
    endice  
    OP
       2016-12-05 00:41:09 +08:00
    @mengskysama 我听我同事说他 redis 内存占了 6G ,可是实际使用的只有 3G ,这要怎么解决?
    fyibmsd
        9
    fyibmsd  
       2016-12-05 08:55:35 +08:00 via iPhone
    加内存
    owt5008137
        10
    owt5008137  
       2016-12-05 09:08:55 +08:00 via Android
    @mengskysama 贴的文档里说了根据 malloc 的实现不同而不同。你可以去看一下 jemalloc 的设计模型。具体和你的 redis 使用的情况有关,主要是内存碎片的分布和操作顺序。
    简单地说就是,不一定会还给操作系统,即便还也不一定什么时候还多少给操作系统
    enenaaa
        11
    enenaaa  
       2016-12-05 09:47:23 +08:00
    @endice 用 info memory 命令查看内存占用细节。
    snopy
        12
    snopy  
       2016-12-05 10:12:39 +08:00
    之前搞过一个小脚本监控 redis 内存,超过某个值( 5G )就手动重启,一般能管 5 天左右,公司 storm 集群中的 redis 可以随意重启
    KKKKKK
        13
    KKKKKK  
       2016-12-05 10:36:10 +08:00
    @snopy redis 重启之后数据怎么办??
    harryhao
        14
    harryhao  
       2016-12-05 11:32:21 +08:00
    数据无效并不是马上清除的
    goldenpangolin
        15
    goldenpangolin  
       2017-01-11 18:55:15 +08:00
    @KKKKKK 大概是当缓存在用
    实际有数据库存盘吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2516 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:08 PVG 20:08 LAX 04:08 JFK 07:08
    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