问题描述
U盘或移动硬盘umount弹出设备失败,后台会出现一个kworker进程,疯狂占用CPU资源,其中:
top命令直接可以看到kworker进程;
htop命令默认隐藏了内核进程,需要在按F2 进行设置 “Display options”选项中,取消选择“Hide kernel threads”,

之后按F10保存设置,就可以看到kworker进程了。
解决方法
强制重启USB控制器
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind && echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind
注意事项
该命令会断开所有的USB设备的连接,并重新连接,因此,确保当前没有进行数据传输,以防止数据丢失。
其他
该方法同样适用于:
- 强制卸载无法卸载的USB设备,比如:解决因为在传输数据未完成时直接拔下存储设备导致的后台D进程驻留(无法被kill);
- 系统更新固件可能导致(只遇到过一次)的USB存储设备无法被识别(重启系统同样可以解决);
- 不重启系统,只重启xhci控制器。
本文介绍了解决U盘或移动硬盘卸载失败导致的kworker进程高CPU占用问题的方法,通过重启USB控制器来强制断开并重新连接所有USB设备,适用于数据传输未完成时直接拔下存储设备导致的后台进程驻留,以及系统更新固件后USB存储设备无法识别的情况。
5万+

被折叠的 条评论
为什么被折叠?



