温馨提示×

centos redis配置虚拟内存技巧

小樊
49
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