Linux系统卸载USB存储设备失败导致kworker进程CPU占用异常问题的解决办法

问题描述

U盘或移动硬盘umount弹出设备失败,后台会出现一个kworker进程,疯狂占用CPU资源,其中:
top命令直接可以看到kworker进程;
htop命令默认隐藏了内核进程,需要在按F2 进行设置 “Display options”选项中,取消选择“Hide kernel threads”,
Linux系统卸载USB存储设备失败导致kworker进程CPU占用异常问题的解决办法_第1张图片
之后按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设备的连接,并重新连接,因此,确保当前没有进行数据传输,以防止数据丢失。

其他

该方法同样适用于:

  1. 强制卸载无法卸载的USB设备,比如:解决因为在传输数据未完成时直接拔下存储设备导致的后台D进程驻留(无法被kill);
  2. 系统更新固件可能导致(只遇到过一次)的USB存储设备无法被识别(重启系统同样可以解决);
  3. 不重启系统,只重启xhci控制器。

你可能感兴趣的:(Linux)