![ksoftirqd 使用 100% CPU](https://linux22.com/image/964268/ksoftirqd%20%E4%BD%BF%E7%94%A8%20100%25%20CPU.png)
我正在运行 32 位 Ubuntu 10.04。很多时候,ksoftirqd/0 或 ksoftirqd/1 会毫无原因地占用 100% 的 CPU,我不得不重启笔记本电脑。
顺便说一句,当我在 Chrome 和 Fireox 上最大化我的(youtube)视频时也会发生这种情况,但一旦我取消最大化视频,CPU 使用率就会降到原来的水平。
知道发生什么事了吗?
--- 附录 ---
dmesg 产生约 2000 行的输出。我在输出中搜索了“error”和“warning”,以下是相关行(以及一些标题):
[0.000000]初始化cgroup子系统cpuset
[0.000000]初始化cgroup子系统cpu
[ 0.000000] Linux 版本 2.6.32-21-generic(buildd@yellow)(gcc 版本 4.4.3(Ubuntu 4.4.3-4ubuntu5))#32-Ubuntu SMP 2010 年 4 月 16 日星期五 08:09:38 UTC(Ubuntu 2.6.32-21.32-generic 2.6.32.11+drm33.2)
[0.000000] 命令行:BOOT_IMAGE=/boot/vmlinuz-2.6.32-21-generic root=UUID=157dcfda-acd6-4d1b-a6a8-ff9ccff61906 ro quiet splash
[0.000000]内核支持的CPU:
[ 0.000000] 英特尔正版英特尔
[ 0.000000] AMD 正品AMD
[ 0.000000] 半人马 CentaurHauls
[0.000000]BIOS 提供的物理 RAM 映射:
[ 24.775546] EXT3-fs 警告:安装 fs 时出现错误,建议运行 e2fsck
[44920.210518] ata1:SError:{PHYRdyChg CommWake 10B8B Dispar LinkSeq TrStaTrns}
[44920.210531] res 40/00:00:f0:4b:7f/00:00:18:00:00/40 Emask 0x10(ATA 总线错误)
[58673.134623] chrome[20101]: 7f38bc4ad000 ip 00007f38be769ecc sp 00007fff24616850 处发生段错误,libpepflashplayer.so[7f38bdc08000+e55000] 中出现错误 4
[ 24.775546] EXT3-fs 警告:安装 fs 时出现错误,建议运行 e2fsck
[44920.210531] res 40/00:00:f0:4b:7f/00:00:18:00:00/40 Emask 0x10(ATA 总线错误)
答案1
ksoftirqds 是当机器处于高软中断负载时运行的内核线程。每个 CPU 都应该有一个 ksoftirq。
软中断通常在硬中断返回时得到处理。软中断的触发速度可能比处理速度快。如果在处理软中断时再次触发软中断,则 ksoftirq 守护进程会在内核线程中处理软中断。如果这种情况经常发生,您将看到 ksoftirqd 线程上的软中断负载很重。
ksoftirqds 中的 CPU 利用率为 100%,并且需要重新启动,这听起来像是某些硬件正在通过中断风暴使机器饱和。内核是否会产生任何错误或警告?(使用 dmesg 查看其报告的内容)。