温馨提示×

centos redis配置虚拟内存技巧

小樊
55
2025-08-10 12:22:32
栏目: 云计算

在CentOS上为Redis配置虚拟内存(Swap)可按以下步骤操作,核心是通过系统交换空间扩展内存,并优化Redis内存管理策略:

一、系统层面:创建并启用Swap交换空间

  1. 创建Swap文件(以1GB为例):
    sudo fallocate -l 1G /swapfile  # 推荐使用fallocate(若不可用则用dd命令)  
    sudo chmod 600 /swapfile       # 限制文件权限  
    sudo mkswap /swapfile          # 格式化为Swap空间  
    sudo swapon /swapfile          # 启用Swap  
    
  2. 设置开机自启动
    编辑 /etc/fstab,添加以下行:
    /swapfile none swap sw 0 0  
    
  3. 验证Swap状态
    free -h  # 查看Swap空间是否生效  
    

二、Redis配置:限制内存并启用淘汰策略

  1. 修改Redis配置文件/etc/redis.conf):
    maxmemory 1gb                # 限制Redis最大使用内存(需小于系统物理内存+Swap总和)  
    maxmemory-policy allkeys-lru # 内存不足时淘汰策略(常用:allkeys-lru/volatile-lru)  
    
    • 策略说明
      • allkeys-lru:从所有键中淘汰最近最少使用的键(无论是否有过期时间)。
      • volatile-lru:仅从设置了过期时间的键中淘汰最近最少使用的键。
  2. 重启Redis生效
    sudo systemctl restart redis  
    

三、优化建议

  • 避免过度依赖Swap:Swap性能低于物理内存,仅作为临时扩展,建议优先增加物理内存。
  • 监控内存使用:通过redis-cli info memory查看used_memorymaxmemory,确保未频繁触发淘汰。
  • 数据结构优化:使用哈希表等高效结构存储数据,减少内存占用。

参考来源

0