滔哥有点菜
滔哥有点菜
发布于 2026-01-06 / 3 阅读
0
0

黑群晖重启卡“系统正在准备”问题解决极简教程

一、问题现象

黑群晖重启时卡在“系统正在准备,请稍后”界面无法进入系统,但关机断电后重新开机可正常进入;核心原因:Redis 服务所需的内存超配参数未配置,导致重启时 Redis 初始化失败,卡住系统启动流程。

二、前期准备

1. 开启 SSH 服务:登录 DSM → 控制面板 → 终端机和 SNMP → 勾选“启用 SSH 服务” → 保存;

2. 连接 SSH:使用 SSH 工具(Putty、Xshell、电脑终端)连接黑群晖,登录用户为 root(密码与 DSM 管理员密码一致)。

三、步骤1:查询日志,确认问题根源

在 SSH 终端执行以下命令,定位错误原因:

# 查找重启相关错误日志,重点关注 Redis 内存警告
grep -i reboot /var/log/messages

关键判断: 若日志中出现 WARNING Memory overcommit must be enabled! 提示,即可确认是 Redis 内存超配参数问题,直接进入下一步解决。

四、步骤2:配置内存超配参数(核心操作)

1. 编辑系统配置文件

# 用 vi 编辑器打开配置文件
vi /etc/sysctl.conf

2. 添加核心配置参数

① 按 i 键进入编辑模式(左下角显示 -- INSERT --);

② 用方向键 ↓ 移动光标到文件最后一行,按 Enter 换行后,输入以下内容(格式务必准确):

vm.overcommit_memory = 1

③ 按 Esc 键退出编辑模式,输入 :wq 后按 Enter,保存并退出编辑器。

3. 重载配置,立即生效

# 强制重载配置文件,使参数立即生效
sysctl -p /etc/sysctl.conf

执行后若输出 vm.overcommit_memory = 1,说明参数已临时生效。

4. 验证参数是否生效

# 查询参数值,返回 1 即生效
sysctl vm.overcommit_memory

五、步骤3:重启验证,确认问题解决

1. 重启黑群晖

# 执行重启命令
reboot

2. 验证配置永久生效

① 黑群晖重启完成后,重新连接 SSH;

② 再次执行验证命令:

sysctl vm.overcommit_memory

最终判断标准: - 若输出 vm.overcommit_memory = 1,说明配置已永久生效(无需额外设置开机脚本); - 若重启后未卡在“系统正在准备”界面,能正常进入 DSM,说明问题已彻底解决。

六、核心知识点说明

1. vm.overcommit_memory = 1 作用:开启 Linux 系统“内存超配”机制,允许 Redis 重启时正常申请内存(Redis 启动时仅“占坑”不立即用满内存),避免服务初始化失败;

2. 安全性:家用黑群晖场景下无风险,这是 Redis 官方推荐的标准配置,不会导致内存溢出。

七、总结

1. 问题根源:Redis 内存超配参数缺失,导致重启时服务启动失败,卡住系统;

2. 核心操作:修改 /etc/sysctl.conf 添加 vm.overcommit_memory = 1,重载配置即可;

3. 验证关键:重启后执行 sysctl vm.overcommit_memory 返回 1,且 NAS 能正常重启进入系统,即彻底解决。


评论