上一篇
凌晨三点,服务器监控突然报警——Redis内存占用飙升至95%,导致线上服务响应缓慢,你尝试重启Redis服务,却发现有几个"僵尸进程"死活杀不掉,甚至影响了新实例的启动,这时候,你需要一套干净利落的"大扫除"方案,把系统里所有Redis相关进程彻底清理干净。
打开终端,用这个命令查看当前运行的Redis进程:
ps -ef | grep redis
你会看到类似这样的输出:
redis 12345 1 0 Aug10 ? 00:15:32 /usr/bin/redis-server *:6379
redis 12346 1 0 Aug10 ? 00:12:18 /usr/bin/redis-server *:6380
user 12888 12345 0 03:00 pts/1 00:00:00 grep --color=auto redis
关键点:
redis
或root
) 先尝试正常关闭,避免数据丢失:
# 如果有配置密码 redis-cli -a yourpassword shutdown # 无密码情况 redis-cli shutdown
如果提示NOAUTH
错误,加上密码参数:
redis-cli -a yourpassword -p 6379 shutdown
当正常关闭失效时,直接用kill
命令:
# 单个进程(替换12345为实际PID) sudo kill -9 12345 # 批量终止所有Redis进程(危险操作!) sudo pkill -9 redis-server
注意:
-9
表示强制终止,可能丢失未持久化数据 如果要彻底重置Redis,删除数据文件:
# 通常位置(根据你的配置调整) sudo rm /var/lib/redis/dump.rdb sudo rm /var/lib/redis/appendonly.aof
再次检查进程是否存活:
ps -ef | grep redis
确认端口释放情况:
sudo netstat -tulnp | grep 6379
Q:为什么kill后进程又出现了?
A:可能是守护进程自动重启,需要检查:
systemctl status redis
crontab -l
Q:误杀了其他进程怎么办?
A:立即用ps -ef
确认进程名称,批量操作前建议先用pgrep redis-server
单独获取PID列表。
当Redis出现无法响应的极端情况时,这套"组合拳"能帮你快速恢复系统:
1️⃣ 优先尝试正常关闭
2️⃣ 强制终止残留进程
3️⃣ 必要时清理数据文件
4️⃣ 操作后务必验证结果
记得在生产环境执行前做好备份!如果遇到特殊配置的Redis实例,可能需要调整命令参数。
(本文操作基于2025年8月的Redis主流版本验证,不同系统环境可能存在差异)
本文由 庆香薇 于2025-08-02发表在【云服务器提供商】,文中图片由(庆香薇)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/516407.html
发表评论