问题:

有时候它几乎使用一半的CPU。答案1:

运行"kworker"是内核工作线程的占位符进程,它执行内核的大部分实际处理,尤其存在中断,计时器,I/O的情况下。答案2:

在进程列表中可以有几个:kworker/0:1是第一个CPU内核,kworker/1:1是第二个。

kworker为什么要占用你的CPU?echo l > /proc/sysrq-trigger 执行此操作几次,然后在dmesg输出结束时监视回溯,

例子:e1000e,在例子中,我几乎每次都发现了这样的回溯跟踪:Call Trace:

delay_tsc+0x4a/0x80

__const_udelay+0x2c/0x30

e1000_acquire_swflag_ich8lan+0xa2/0x240 [e1000e]

e1000e_read_phy_reg_igp+0x29/0x80 [e1000e]

e1000e_phy_has_link_generic+0x85/0x120 [e1000e]

e1000_check_for_copper_link_ich8lan+0x48/0x930 [e1000e]

e1000e_has_link+0x55/0xd0 [e1000e]

e1000_watchdog_task+0x5e/0x960 [e1000e]

它提示我e1000e以太网卡模块中的一个问题,实际上一个sudo rmmod e1000e使CPU高负载。答案3:

安装perf:sudo apt-get install linux-tools-common linux-tools-3.11.0-15-generic

第二个软件包必须与你的内核版本匹配。可以首先安装linux-tools-common,然后调用perf,让它告诉你需要哪个包,

在所有CPU上记录一些10秒的回溯跟踪:sudo perf record -g -a sleep 10

分析你的记录:sudo perf report

使用←,→,↑,↓和Enter导航调用图,答案4:

我遇到了这个问题,安装了perf (这是个伟大的工具),它指向了XFS,指向NFS,然后我意识到有一个挂载空间不足。释放空间后,kworker CPU下降到0.答案5:

我进入了笔记本电脑的bios,那里有:Hand XCHI OFF: Enabled

EHCI Hand OFF: disabled

我更改了:Hand XCHI OFF: disabled

EHCI Hand OFF: disabled答案6:

我认为禁用Nepomuk可以帮助你:

相关文章

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐