云网牛站
所在位置:首页 > Linux教程 > 在Deepin Linux系统中kworker进程占用CPU达到100%的解决

在Deepin Linux系统中kworker进程占用CPU达到100%的解决

2018-09-04 12:14:06作者:木子Lee稿源:欧巴云

如果你在Deepin Linux、Debian、Ubuntu系统中遇到kworker进程占用CPU达到100%,可以用以下解决方法解决问题,本文主要内容为问题起因、microcode介绍、解决方法及总结警告。

 

1、问题起因

有些使用Deepin Linux系统的用户使用的是Deepin提供的intel-microcode补丁,有时在更新重新启动进入笔记本后CPU达到了100%,其中kworker进程占用最高,甚至达到95%,这个时候请不要升级BIOS到最新,而是采用下面的方法解决。

 

2、什么是microcode

在进行解决之前我们先了解一下什么是microcode?简单说microcode就是处理器厂商发布的微码,以增强系统稳定性和解决安全问题。微码可以通过BIOS更新,Linux内核也支持启动时应用新的微码。没有这些更新,可能会遇到一些很难查的的死机或崩溃问题。建议所有Intel用户使用新的微码。Intel Haswell和Broadwell处理器家族的用户请务必使用最新的微码。这样做有一个好处是我们不需要去更新BIOS固件本身。

对于Arch Linux发行版来说,AMD处理器微指令更新放置在linux-firmware中,而它作为基本系统的一部分安装,不需要额外动作。但对于Deepin Linux系统来说因为其基于Debian sid发行,所以不管你是AMD还是Intel处理器,都需要安装microcode进行微码更新,只是对应的名称不同而已:AMD:amd64-microcode,Intel:intel-microcode。

 

3、解决方法

从Debian镜像源下载最新版本(最新版本截止时间为2018年9月4日,如果以后你要安装intel-microcode请到下面附的地址去下载最新版本)。以下是手动安装的命令:

wget https://mirrors.tuna.tsinghua.edu.cn/debian/pool/non-free/i/intel-microcode/intel-microcode_3.20180807a.1~bpo9+1_amd64.deb

apt-get install iucode-tool

dpkg -i intel-microcode_3.20180807a.1~bpo9+1_amd64.deb

重启笔记本驱动已经为最新的3.20180807a.1版本了。

附:最新版本下载地址

在Deepin Linux系统中kworker进程占用CPU达到100%的解决

当然我们还可以通过以下命令来检测是否存在其它微码更新包,如果显示为以下情况,说明已经是最新的,没有其它可用于更新的微码包了。

sudo dmesg | grep microcode

[2.596144] microcode: sig=0x906e9, pf=0x20, revision=0x84

[2.596388] microcode: Microcode Update Driver: v2.2.

到这里,kworker进程占用CPU 100%的问题就解决了。

 

4、总结

对于运行在 x86/amd64 架构的CPU上的Linux系统,Linux自带了工具去更新或者部署微码固件。但每个发行版本的命令会有一些差异,这里我们例举两个常用Linux发行版的更新命令。

Debian/Ubuntu Linux 用户输入:sudo apt install intel-microcode

CentOS/RHEL Linux 用户输入:sudo yum install microcode_ctl

对于流行的Linux发行版,这个包的名字也会有所不同:

microcode_ctl 和 linux-firmware:CentOS/RHEL微码更新包。

intel-microcode:Debian/Ubuntu和衍生发行版的适用于Intel CPU的微码更新包。

amd64-microcode:Debian/Ubuntu和衍生发行版的适用于AMD CPU的微码固件。

linux-firmware:适用于AMD CPU的Arch Linux发行版的微码固件(你不用做任何操作,它是默认安装的)。

intel-ucode:适用于Intel CPU的Arch Linux发行版微码固件。

microcode_ctl 、linux-firmware 和 ucode-intel:Suse/OpenSUSE Linux微码更新包。

 

5、警告

就像我们前面看到的情况一样,CPU占用100%,同样在更新微码后也有可能会导致引导问题,比如,服务器在引导时被挂起或者自动重置,所以对于由此引发的任何硬件故障,我不承担任何责任。故在固件更新之前,请充分评估操作风险。同时无特殊需求,请使用最新的版本就能避免此类问题的发生。

 

相关主题

如何在无响应的Linux系统中杀掉内存消耗最大的进程

精选文章
热门文章