我有英特尔酷睿2GHz的Windows XP SP3。 根据Process Explorer,“中断”过程持续占用30-40%的CPU。 这是正常的吗?
从一般意义上讲,当IO设备(如磁盘控制器,网卡,USB控制器等)想要处理器的某些注意力时产生一个中断 – 基本上喊“嘿,我可以有一点时间请!'。
处理器有它自己的工作,当它得到一个中断,它必须停止它正在做什么,并处理设备的要求,移动数据或任何。 这不应该是太多的工作,但现代适配卡处理大量的数据,他们可以产生大量的处理器每秒中断。 传统上计算机只有一个处理器,所以很多操作系统从来没有想过把这个中断处理工作分散到第一个处理器 – 现在仍然是这样,一个网卡CAN泛滥“核心0”,即使是最现代的多如果操作系统不共享此工作负载,则为核心处理器。
有很多方法可以解决这个问题,一个叫做“中断合并”,这是一个网卡的function,它将聚集一组中断,并将它们作为一个中断发送到处理器 – 这增加了networking延迟,但可以节省大量的处理器开销。 另一个被称为“接收方扩展”的方法,一般来说,把处理中断的工作分享给不仅仅是“核心0” – 降低了“核心0”的重点(它仍然坚持做很多其他的核心OS除了最现代化的操作系统之外都可以使用)。
还有一个很酷的function,与中断没有多大关系,但可以提高整体服务器的性能,称为“TCP卸载” – 这可以让网卡完成处理器通常所做的一些工作。 所有这三项function都需要网卡,BIOS和操作系统的支持,否则不起作用 – 作为一个参考资料来看看微软的这个文档,它将更详细地解释一些事情。
我希望这有帮助。
如果您正在进行I / O操作(磁盘读取/写入,networkingstream量等),这是非常正常的。
正如其他人所说,高中断意味着你的CPU正在忙于某些需要关注的硬件。 大量使用硬盘或networking时,这是完全正常的。
如果你的系统真的是空闲的(确保没有像BitTorrent或碎片整理工具或任何运行的任何后台程序),并且它仍然很高,那么这可能是不正常的。
为了比较,我的Athlon双核3.11GHz系统,运行windows 7,打开了几个firefox窗口,还有其他几个后台程序,在进程pipe理器中CPU的CPU不到1%。 当我通过networking以10MB / s的速度复制文件时,它跳跃到10-15%。
通常原因是坏的驱动程序或坏的硬件。 以下是一些可以尝试缩小范围的故障排除方法:
如果你可以把它缩小到一个特定的硬件,在另一台计算机上试一试,看看它是否会导致相同的高中断使用率。 如果是这样,并且驱动程序/固件更新没有帮助,则需要更换。