我在 Intel Core Duo 2GHz 上安装了 Windows XP SP3。根据 Process Explorer 的显示,“中断”进程持续占用 30-40% 的 CPU。这正常吗?
答案1
一般来说,当 IO 设备(如磁盘控制器、网卡、USB 控制器等)需要处理器的关注时,就会生成中断 - 它基本上就是在喊“嘿,我可以占用你一点时间吗!”。
处理器有自己的工作要做,因此当它收到中断时,它必须停止正在执行的工作并处理设备移动数据或其他操作的要求。这不应该是太多的工作,但是对于处理大量数据的现代适配器卡,它们每秒可以为处理器生成大量中断。传统上,计算机只有一个处理器,因此许多操作系统从未考虑过将这种中断处理工作分散到第一个处理器以外的处理器上 - 现在仍然如此,如果操作系统不分担此工作负载,一个网卡可能会淹没甚至最现代的多核处理器的“核心 0”。
有多种方法可以解决这个问题,其中一种方法是“中断合并”,这是网卡的一项功能,它将一组中断聚集在一起并将它们作为一个中断发送到处理器 - 这会增加网络延迟,但可以节省大量处理器开销。另一种方法称为“接收方扩展”,一般来说,它将处理中断的工作分摊给不仅仅是“核心 0” - 降低“核心 0”的重点(除了最现代的操作系统外,它仍然在执行许多其他核心操作系统功能)。
还有另一个很酷的功能,它与中断没有太大关系,但可以提高整体服务器性能,称为“TCP 卸载” - 这允许网卡执行一些处理器通常会执行的工作。所有这三个功能都需要网络适配器、BIOS 和操作系统的支持,否则它不起作用 - 作为参考,请查看这来自微软的文档,它解释得更详细。
我希望这有帮助。
答案2
如果您正在执行 I/O 操作(磁盘读/写、网络流量等),这是完全正常的。
答案3
就像其他人说的,高中断意味着你的 CPU 正忙于处理一些需要注意的硬件。当大量使用硬盘或网络时,这是完全正常的。
如果您的系统确实处于空闲状态(确保没有后台程序,如 bittorrent 或碎片整理工具或任何正在运行的程序),但仍然很高,那么这可能不正常。
相比之下,我的 Athlon 双核 3.11GHz 系统运行 Windows 7,打开了几个 Firefox 窗口,还有不少其他后台程序,进程资源管理器中的中断 CPU 不到 1%。当我以 10MB/s 左右的速度通过网络复制文件时,它会跳升至 10-15%。
通常原因是驱动程序有问题或硬件有问题。以下是您可以尝试的一些故障排除方法,以缩小问题范围:
- 进入 msconfig 并禁用所有启动程序,然后重新启动。如果它消失了,那么它就是一个正在使用某些东西的后台程序
- 获取制造商的硬盘测试工具并运行它。故障的硬盘会导致非常高的中断
- 逐个移除非必要硬件,如 USB 设备、DVD 驱动器、声音网络和显卡(如果您也有板载视频),看看问题是否消失
- 检查所有硬件的更新驱动程序
- 检查主板的 BIOS 更新
- 在系统上运行 memtest
如果您可以将其缩小到特定硬件,请在另一台计算机上尝试它,看看它是否会导致同样高的中断使用率。如果是这样,并且驱动程序/固件更新没有帮助,那么需要更换它。