温馨提示×

centos如何调试redis

小樊
56
2026-08-18 15:45:49
栏目: 云计算

在 CentOS 上调试 Redis,通常分为 服务调试、性能分析、连接问题排查、源码级调试 等几个层次。下面按常见场景由浅入深说明。


一、基础调试:查看 Redis 运行状态

1. 检查 Redis 是否运行

ps -ef | grep redis
systemctl status redis

2. 查看 Redis 日志

默认日志位置(视配置而定):

tail -f /var/log/redis/redis.log

常见配置项:

loglevel notice
logfile /var/log/redis/redis.log

3. 使用 redis-cli 调试

redis-cli

常用命令:

ping
info
info memory
info stats
info replication

二、性能与慢查询调试

1. 慢查询日志

redis-cli slowlog get 10

配置示例:

slowlog-log-slower-than 10000   # 微秒
slowlog-max-len 128

2. 查看延迟

redis-cli --latency
redis-cli --latency-history

三、连接与网络问题调试

1. 检查监听端口

ss -lntp | grep 6379
netstat -lntp | grep 6379

2. 检查防火墙

firewall-cmd --list-ports
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload

3. 检查最大连接数

redis-cli config get maxclients

系统级限制:

ulimit -n

四、内存与持久化调试

1. 内存使用分析

redis-cli info memory

重点关注:

  • used_memory
  • used_memory_rss
  • mem_fragmentation_ratio

2. RDB / AOF 状态

redis-cli info persistence

查看 AOF 重写:

redis-cli config get appendonly

五、使用 GDB 进行源码级调试(高级)

适用于 Redis 崩溃、异常退出、C 级别 bug。

1. 安装调试工具

yum install -y gdb

2. 使用 Debug 版 Redis(推荐)

Redis 官方提供 redis-server-debug:

wget http://download.redis.io/releases/redis-7.2.4.tar.gz
tar -xzf redis-7.2.4.tar.gz
cd redis-7.2.4
make CFLAGS="-g -O0"

3. 用 gdb 启动

gdb ./src/redis-server
run /etc/redis.conf

4. 常用 GDB 命令

bt          # 查看调用栈
info threads
thread apply all bt

六、使用 strace / perf 调试系统调用(进阶)

1. strace 跟踪 Redis

strace -p $(pidof redis-server)

查看系统调用耗时:

strace -c -p $(pidof redis-server)

2. perf 性能分析

yum install -y perf
perf top -p $(pidof redis-server)

七、常见调试场景速查表

问题 调试方式
Redis 起不来 日志 + systemctl status
响应慢 slowlog + latency
内存暴涨 info memory
连接失败 端口 + 防火墙 + maxclients
崩溃 gdb + core dump
CPU 高 perf top

八、开启 core dump(调试崩溃必备)

ulimit -c unlimited
echo "/var/core/core-%e-%p" > /proc/sys/kernel/core_pattern

如果你能说明 具体调试目的(例如:Redis 卡死、CPU 100%、主从同步失败、C 源码问题),我可以给你更精确的调试步骤。

0 踩