[问题现象]

服务器配置
cpu:e5-2603v2
内存:64G
网卡:Intel 82574L*4
网维大师:9系


服务器进程鼠标进行操作都一顿一顿的,且cpu使用率100%。

[排查思路]

  1. 谁占用cpu过高。
  2. 什么原因占用CPU过高。
  3. 打开任务管理器,“进程”管理中看到“DiskLessServer.exe”、“NetDisksserver.exe”占用CPU资源很高,除此之外还发现一个系统中断也占用CPU资源近10%左右。
  4. 任务管理器,右键选中“DiskLessServer.exe”程序,右键打开目录,看下文件数字签名,确认均是顺网科技网维大师程序。注:如果是第三方不要紧程序可以关闭处理之。
  5. 经过测试,带机很少时CPU压力则低,客户机开机或批量开机时CPU压力巨高。
  6. 从进程管理器上看,占用CPU资源高的,都是具备网络通信功能的程序,同时我们测试使用IE下载腾讯QQ,测试发现,IE浏览器也占用CPU资源20%左右。
  7. 从上述来看,主要是有网络通讯的程序都会出现占用CPU过高的问题。所以目前我们的排查对象先放到网卡驱动,以及系统环境上。
  8. 在我们CPU使用率越高的时候,发现中断占用的CPU也就越高,从而联系起来是由于“硬件中断”导致的CPU使用率增高。

 



【关于中断】

  1. 这里重点说明下服务器出现CPU占用高最常见的几种情况


    如果是这个系统中断占用5-20的 ,基本上就是服务器硬件驱动 或者硬件方面有问题了,当然其他一些情况也会有,这里是举例常见的一些方面。
这里解释下系统中断的概念:

何为「系统中断」:
 
    虽然「系统中断」与其它 Windows 进程一样出现在任务管理器中,但它却不是一个真正意义上的进程,它仅代表 Windows 中,系统中所有「中断」的 CPU 使用率。
    简单地来理解,中断是软件、硬件和 CPU 之间进行通信的一种形式,例如:当你在键盘上执行输入操作时,相应的硬件和软件便会向 CPU 发送中断以通报任务并触发必要的处理。在中断处理程序任务完成后,处理器便会恢复到它被中断时的状态。
    当硬件或驱动程序出现错误时,可导致向 CPU 发送错误的中断信号,就会造成在任务管理器里看到「系统中断」的 CPU 使用率过高的问题。通常一个健康、运行良好的 Windows 系统,系统中断的 CPU 使用率大约会在 0.1% 至 2% 之间浮动,峰值不超过 7% 也被认为在可接受的正常范围,当然这也取决于你所使用的 CPU 频率、运行的软件和所连接的相关硬件。

【常见排查对象】
可能的导致系统中断问题方面:

  1. 硬盘故障 : 在服务器上找到-我的电脑-右键-管理-事件查看器-系统,(如果您是Server2008操作系统,请在我的电脑-右键-管理-诊断-事件查看器-Windows日志-系统中查看),这里看下有没有来源是NTFS、disk、ftdisk、atapi的警告或错误,然后也可以下载个硬盘哨兵,确认是否有磁盘故障或相应提示。下载链接:硬盘哨兵
  2. cpu温度过高:CPU故障,或温度过高,前者可能性较低,但CPU温度过高后,可能会出现各种问题,CPU自我保护,降频等,都可能出现。下载个鲁大师检测下服务器CPU温度。
  3. 服务器内存故障 :在服务器上找到-我的电脑-右键-管理-事件查看器-系统(Server2008操作系统,在我的电脑-右键-管理-诊断-事件查看器-Windows日志-系统中查看)一般都有很直观的中文提示。
  4. 网卡异常  :服务器是万兆网卡环境,可以尝试重新插拔万兆网卡光纤模块,或者使用千兆网卡测试观察。  把主网卡IP修改成千兆网卡带机看看是否正常 。如果是千兆网卡,可以确认下千兆网卡是否有优化 中断节流的参数,有开启的可以把它禁用掉 ,再看看是否正常


 
 


 
 
上述几个硬件方面问题是最方便查看排查的,一般优先去检查排除,如果这些选项看下来都没什么异常的,接下来可以去看看硬件驱动方面的一些问题。

【硬件驱动排查方法】

    大量的测试版的驱动在网上泛滥,而且有些驱动并没有经过合格的认证,盲目地从网上下载驱动安装,可能会占用很多的CPU资原使用量,从而造成了难以发现的故障隐患。

    要想快速确认是否由驱动程序造成的问题,可以使用一下工具
1、DPC Latency Checker
     DPC Latency Checker 这个小工具进行检查。延迟过程调用(DPC)与系统中断的处理相关, 当中断处理程序需要延迟一个低优先级的任务时,便会调用 DPC。
DPC Latency Checker 可以通过实时音、视频流来分析当前系统是否能妥善处理内核态设备驱动的延迟,它是快速找出驱动问题的好帮手,而且无需安装,如果你看到出现红条则表示有高延迟。

要找到驱动程序中断问题的根源,你得逐个回滚或更新驱动程序到最新版本,并不断通过 DPC Latency Checker 进行测试。
    2、LatencyMon
    此外,大家也可以安装 LatencyMon 这款延时监控软件,以帮助快速发现高 DPC 计数的驱动程序文件。

具有高 DPC 计数的驱动可能导致大量中断,我们主要看Hghest execution(ms);如图:

 

工具使用说明和下载链接这里有下载

1、DPC Latency Checker
2、LatencyMon 

 
 
【总结】
上述情况是针对于服务器CPU占用高常见情况的概括以及排查思路,其他一些可能性也会有,这里就不一一列举了。