kworker,即Kernel Worker,是Linux3.x版本引入的。其本质上可以算是一个占位符进程,内核实际处理工作大部分由它完成。kworker占用CPU高,大多数的原因是过多的系统调用产生了过多的中断。解决方法如下:
sudo grep . -r /sys/firmware/acpi/interrupts/
会出现很多gpe,找到gpe旁边的数字比较高的。
例如我的是gpe1B。把它给disable掉
echo "disable" > /sys/firmware/acpi/interrupts/gpe1B
此使回到任务管理器,可以发现kworker的CPU使用率变正常了。