什么是“中断”进程,为什么它如此喜欢我的 CPU?

Kam*_*rey 5 windows-xp central-processing-unit process interrupts

我在 Intel Core Duo 2GHz 上安装了 Windows XP SP3。根据 Process Explorer 的说法,“中断”进程持续占用 30-40% 的 CPU。正常吗?

Cho*_*er3 10

概括地说,中断是由 IO 设备(例如磁盘控制器、网卡、USB 控制器等)在需要处理器注意时产生的 - 它基本上是在大喊“嘿,我可以花点时间吗请!'。

处理器有自己的工作要做,所以当它收到中断时,它必须停止正在做的事情并处理设备移动数据或其他任何东西的要求。这不应该是太多的工作,但是对于处理大量数据的现代适配卡,它们每秒可以为处理器生成大量中断。传统上,计算机只有一个处理器,因此许多操作系统从未想过将这种中断处理工作分散到第一个处理器之外——现在仍然如此,一个网卡可以淹没即使是最现代的多核处理器的“核心 0” -core 处理器,如果操作系统不会分担此工作负载。

有多种方法可以解决这个问题,其中一种称为“中断合并”,这是网卡的一项功能,可以将一组中断组合在一起并将它们作为一个单独的中断发送到处理器 - 这增加了网络延迟但可以节省大量处理器开销。另一种称为“接收端缩放”,一般来说,它不仅将处理中断的工作分给了“核心 0”,还降低了“核心 0”的重点(它仍然被困在做很多其他核心除最现代的操作系统外,其他所有操作系统均可使用 OS)。

还有另一个很酷的功能,它与中断没有太大关系,但可以提高整体服务器性能,称为“TCP 卸载”——这可以让网卡完成处理器通常会做的一些工作。所有这三个功能需要由网络适配器,BIOS和操作系统的支持,否则就不能正常工作-作为一个参考看看从微软的文档,它解释了很多更详细的东西。

我希望这有帮助。