本文共 829 字,大约阅读时间需要 2 分钟。
原文:
近日,帮一个客户解决了服务器CPU占用率高达100%的问题。 以前做的一个某污水处理厂自控系统项目,客户反映其自控服务器有故障,由于自控服务存放iFIX服务器端、现场多套PLC实时数据、过程数据、报表数据等重要软件和数据。我
赶往现场去处理。 (1) 自控服务器风扇一直发出“嗡嗡嗡”较大响声;
(2) 通过任务管理器发现:CPU占用率为100%,其中sqlserver.exe进程占用CPU高达98%上。
由于iFIX客户端上的报表软件是访问存储在自控服务器SQL Server里面的报表数据,所以怀疑是
SQL Server出现了状况。 (1) 进入SQL Server Management Studio, 打开SQL Server Profiler, 设置CPU时间作为筛选条件,单位毫秒(用于跟踪耗CPU占用较长的查询,可设置为大于等于20000,按CPU内核数×1000,可以跟踪CPU占用100%大于1秒的查询) (2) 点击运行,跟踪语句,定位CPU占用较多的语句
如下图所示,有两条SQL语句使CPU占用至少在25358毫秒以上,服务器为戴尔PowerEdge R710,CPU为4 核,则至少CPU占用100%耗时25358/4/1000 = 6.34秒才可以执行好相应的操作
暂时处理方法:拔掉
水质在线监测软件电脑连接到自控服务器的网线,自控服务器风扇恢复正常,不再发出 “嗡嗡嗡”响声,CPU占用率降到2%,一切恢复正常。 后续处理方法:需要
第三方水质在线监测软件人员修复其 两条SQL 语句。 转载地址:http://zpjaa.baihongyu.com/