收起左侧

求助,CPU被软中断占用满了

6
回复
704
查看
[ 复制链接 ]

2

主题

6

回帖

0

牛值

江湖小虾

2025-7-9 09:49:08 显示全部楼层 阅读模式
悬赏1飞牛币已解决

设备环境:物理机、反代、系统为0.9.13

BUG现象:每次开机都会有一个cpu核心被占用满,无法解决。具体内容见下文。

出现频率:必现

目前可以确定是软中断导致的。证明如下:

  1. 使用1Panel发现cpu0占用率为100%,进入进程发现是ksoftirqd/0和看worker/0导致。

屏幕截图2025-07-06222837.png
屏幕截图2025-07-06222927.png

  1. 进入SSH,查看软中断类型,经过两次对比发现是HI类型和TASKLET类型
  • 这是cpu0被占用满的图:

屏幕截图2025-07-06222854.png

  • 这是cpu2被占用满的图:

屏幕截图2025-07-09005128.png

  1. 此外发现还有可能是NMI类型的中断进程导致,对比两图,最大变化的就是NMI类型:
  • 这是CPU0的图
    屏幕截图2025-07-06222948.png
  • 这是CPU2的图
    屏幕截图2025-07-09005516.png

下一步计划

准备使用perf工具诊断,但是安装失败。采用docker安装,也失败。所以前来上报这个bug。

收藏
送赞 1
分享

2

主题

6

回帖

0

牛值

江湖小虾

2025-8-10 16:39:47 楼主 显示全部楼层

OK,谢谢大家的帮助,问题已经解决了。

问题是由USB 电源管理引发的中断风暴,我写一下我的方法,供大家参考。

排查过程:

第一步:进入SSH,查看 top 显示 kworker/0:1+pm(内核电源管理线程)和 ksoftirqd/0(CPU0 软中断线程) 长期占满 CPU0,导致性能下降。

第二步:用 火焰图 和 perf 分析:火焰图中 xhci_hub_controlpm_runtime_suspend 等函数占比极高,结合 perf 采样,定位到 USB 设备频繁电源状态切换(挂起/唤醒) 触发内核任务。

屏幕截图2025-08-10144500.png

第三步:设备电源配置检查bash # 查看 USB 设备电源策略(默认多为 auto,即自动休眠/唤醒) cat /sys/bus/usb/devices/usb1/power/control发现 USB 设备处于自动电源管理(auto,导致高频中断和内核任务。

第四步:临时修复:禁用 USB 自动电源管理 bash # 遍历所有 USB 根集线器,强制禁用自动电源管理(立即生效,重启失效) for usb_dev in /sys/bus/usb/devices/usb*; do echo "on" > "$usb_dev/power/control" done。修复以后,cpu占用瞬间正常了,可以确定就是它的问题。

屏幕截图2025-08-10162836.png

第五步,永久固化,设置一个 crontab 开机自动执行 bash sudo crontab -e # 进入 crontab 编辑界面(默认编辑器为 nano) 。添加开机触发任务 在文件末尾添加以下内容(@reboot 表示系统重启时自动执行):bash @reboot for usb_dev in /sys/bus/usb/devices/usb*; do echo "on" > "$usb_dev/power/control"; done 保存退出。按 Ctrl + X → 提示“Save modified buffer?”,按 Y → 按 Enter 确认保存路径。

最后,重启检验,cpu占用下来了,重启也不会有问题。

唯一的问题是,为了装perf我重新处理了一下内核,导致现在飞牛的升级会失败,提示“文件不完整”。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
可以手动把更新提醒的那几个文件修复成官方的那几个版本  详情 回复
2025-8-31 15:45

3

主题

3610

回帖

640

牛值

共建版主

社区共建团荣誉勋章飞牛百度网盘玩家fnOS1.0上线纪念勋章

2025-7-9 09:49:09 显示全部楼层
Gemond 发表于 2025-7-10 15:10
不是1panel的问题,在1panel之前就是显示cpu占用25%(1个核心的100%,我是四核的),然后从飞牛自己的进 ...

飞牛的内核都6.12了........怎么会老,软锁 已知的有 docker的迅雷, 某些主板的动态频率与节能模式冲突,其他目前好像没有
1

查看全部评分

我命由我不由天!是魔是仙,只有我自己说了算!

3

主题

3610

回帖

640

牛值

共建版主

社区共建团荣誉勋章飞牛百度网盘玩家fnOS1.0上线纪念勋章

2025-7-9 22:55:58 显示全部楼层
1p这个是魔改的,不是原官方的。有些功能是用不了或者有问题正常,或者有些功能开启会导致飞牛错误
不是1panel的问题,在1panel之前就是显示cpu占用25%(1个核心的100%,我是四核的),然后从飞牛自己的进程管理里怎么都找不到占用cpu的进程。然后才下载的1panel进行进一步的排查。 补充一点:刚安装的飞牛的时候,  详情 回复
2025-7-10 15:10

2

主题

6

回帖

0

牛值

江湖小虾

2025-7-10 15:09:40 楼主 显示全部楼层

不是1panel的问题,在1panel之前就是显示cpu占用25%(1个核心的100%,我是四核的),然后从飞牛自己的进程管理里怎么都找不到占用cpu的进程。然后才下载的1panel进行进一步的排查。

补充一点:刚安装的飞牛的时候,待机cpu占用只有0.5%,但是后来就变成这样了。

然后由于飞牛的内核版本太低,好像装不了perf,也没法进一步排查了。

我理解:重装可以解决这个问题,但是我很好奇到底是哪个东西导致的软中断。

2

主题

6

回帖

0

牛值

江湖小虾

2025-7-10 15:10:32 楼主 显示全部楼层
七月七夕 发表于 2025-7-9 22:55
1p这个是魔改的,不是原官方的。有些功能是用不了或者有问题正常,或者有些功能开启会导致飞牛错误 ...

不是1panel的问题,在1panel之前就是显示cpu占用25%(1个核心的100%,我是四核的),然后从飞牛自己的进程管理里怎么都找不到占用cpu的进程。然后才下载的1panel进行进一步的排查。

补充一点:刚安装的飞牛的时候,待机cpu占用只有0.5%,但是后来就变成这样了。

然后由于飞牛的内核版本太低,好像装不了perf,也没法进一步排查了。

我理解:重装可以解决这个问题,但是我很好奇到底是哪个东西导致的软中断。
2025-8-31 15:45:37 显示全部楼层
Gemond 发表于 2025-8-10 16:39
OK,谢谢大家的帮助,问题已经解决了。
问题是由USB 电源管理引发的中断风暴,我写一下我的方法,供大家参 ...

可以手动把更新提醒的那几个文件修复成官方的那几个版本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则