Ubuntu系统监控Redis内存使用的常用方法
Redis自带的INFO命令是监控内存的基础工具,可通过以下细分命令获取针对性数据:
redis-cli INFO memory,返回结果包含used_memory(Redis实际使用的内存字节数)、used_memory_human(易读格式,如KB/MB/GB)、used_memory_rss(操作系统分配给Redis的内存字节数)、total_system_memory(系统总内存)等关键指标。其中,used_memory反映Redis自身内存占用,used_memory_rss反映操作系统层面的内存消耗,若两者差距过大可能存在内存碎片。redis-cli INFO memory | grep -E "used_memory|used_memory_human|used_memory_rss",可过滤出内存相关的核心数据,便于快速查看。redis-cli MONITOR,它会输出所有客户端的实时命令及执行时间,但需注意该命令会增加Redis负载,不建议长期开启。可视化工具能更直观地展示内存趋势,适合生产环境长期监控:
sudo apt-get install redisinsight;redisinsight --uri redis://localhost:6379连接本地Redis实例;sudo snap install redis-desktop-manager;localhost:6379)即可连接;INFO MEMORY命令,可查看详细内存信息,同时支持键值浏览、批量操作等功能。若需要集中监控多个Redis实例或集成到现有监控体系,可使用Prometheus+Grafana组合:
wget https://github.com/oliver006/redis_exporter/releases/download/v1.22.0/redis_exporter-v1.22.0.linux-amd64.tar.gz
tar -xzf redis_exporter-v1.22.0.linux-amd64.tar.gz
sudo mv redis_exporter /usr/local/bin/
prometheus.yml文件,添加Redis Exporter的抓取任务:scrape_configs:
- job_name: 'redis'
static_configs:
- targets: ['localhost:9121'] # Redis Exporter默认端口
./prometheus --config.file=prometheus.yml启动服务,访问http://localhost:9090进入Web UI。763的官方模板),即可查看内存使用量的实时仪表盘,支持设置告警规则(如内存使用超过80%时触发告警)。监控时需重点关注以下指标,以判断Redis内存状态:
used_memory需考虑优化内存碎片(如执行MEMORY PURGE命令);used_memory_rss/used_memory):内存碎片率,理想值为1(无碎片),若大于1.5说明碎片较多,需优化。