「玩机教程」群晖NAS解决kworker/0:1占用系统过高问题的实用教程插图

引言

在Linux系统中,kworker/0:1占用系统资源过高的问题一直困扰着许多用户。尽管这个问题似乎成了Linux内核的一个祖传BUG,无论是从原生的Linux还是其他如Ubuntu等发行版都未能幸免。本文将以群晖NAS为例,提供解决kworker/0:1占用系统资源过高问题的详细教程

「玩机教程」群晖NAS解决kworker/0:1占用系统过高问题的实用教程插图1

进入SSH并挂载root权限

首先,我们需要通过SSH工具登录到群晖NAS。使用sudo -i命令切换到root用户,输入群晖的IP地址、账号和密码进行登录。

查找并查看异常

在成功登录后,我们可以使用grep命令在/sys/firmware/acpi/interrupts/目录下查找异常。运行命令grep . -r /sys/firmware/acpi/interrupts/后,根据输出结果我们可以判断哪个设备存在问题。比如,在我的系统中,发现gpe6F存在问题。

禁用异常设备

找到问题设备后,我们可以使用echo命令禁用该设备。例如,如果问题设备是gpe6F,那么运行命令echo "disable" > /sys/firmware/acpi/interrupts/gpe6F即可禁用该设备。

检查kworker占用情况

禁用设备后,我们需要检查kworker的占用情况是否已经恢复正常。

添加计划任务

确认kworker占用正常后,我们需要将禁用设备的命令添加到计划任务中,以确保每次系统启动时都能自动执行。使用vi命令编辑/etc/rc文件,在exit 0前添加我们之前使用的禁用命令。编辑完成后,保存并退出vi编辑器。

编辑/etc/rc文件的示例:

vi /etc/rc  
# 输入i键切换到编辑模式  
# 光标移动到最末尾exit 0前加入禁用命令  
echo "disable" > /sys/firmware/acpi/interrupts/gpe6F  
# 按esc键退出编辑模式  
# 输入:键进入命令模式  
# 输入wq保存并退出  
:wq  
# 回车执行

重启群晖NAS

最后,重启群晖NAS以使设置生效。