帮我看下这个是什么错误,阿里云服务器经常死机cpu100

电脑CPU100%的问题该如何解决,急求解!!_百度知道服务器CPU一直处于运行%100的分析 - 新之洲数据
当前位置: >
服务器CPU一直处于运行%100的分析
发布日期:  站长:IDC人  
访问次数:44 
Tags:绍兴服务器|绍兴服务器租用
   绍兴服务器,绍兴服务器租用,若您的绍兴服务器经常内存耗尽,且运行了mysql或者mssql的,可能是您的服务器内存不能满足您现有的需求,建议升级到更大内存、更多CPU的型号。若内存足够大,请在任务管理器中查看占用内存较高的进程,查看下是否因为mysql连接数过多
& & & 正常情况下绍兴服务器租用是不会出现运行一百的情况的,除非是故障或者您的用量真的过于大,否则顶多也就二三十长期稳定。
& & & 若您的绍兴服务器经常CPU资源100%,可以打开任务管理器,查看是哪个进程引起的, 根据进程情况来判断原因。
& & & 如果是 &winlogon.exe 进程占用过高,有可能是黑客在批量猜解你的端口登录密码导致的资源耗尽,建议把默认的端口远程桌面端口改为其他端口
& & & 如果是sqlserver的进程占用CPU过高,有可能是黑客在扫描1433的sa的密码,建议通过安全策略或防火墙的功能将1433端口限制掉,不允**远程连接。
& & & 如果是w3wp.exe 将CPU占完了,就是有IIS中的站点导致的,需要检查下站点程序是否有BUG或者访问量很大或者其他原因。
1.可以在IIS的应用程序池中对该站点的CPU资源进行限制
2.也可以在IIS的站点属性中,对带宽和连接数进行限制,来达到缓解访问量大导致CPU耗尽的问题(访问量大最根本的解决方法就是升级到资源更多的云主机或者独立服务器)
& & & &若您的绍兴服务器经常内存耗尽,且运行了mysql或者mssql的,可能是您的服务器内存不能满足您现有的需求,建议升级到更大内存、更多CPU的型号。若内存足够大,请在任务管理器中查看占用内存较高的进程,查看下是否因为mysql连接数过多,或者其他原因导致了内存占用后无法及时释放引起内存耗尽。这种情况,可以联系网站开发人员进行分析处理,对于大型网站,进行负载均衡等架构,等减少单点故障,有利于提升稳定性。
上一页: 下一页:
服务器优势
广东最专业IDC服务服务商
8年以上丰富经验,ISP经营许可资质
多个云计算IDC数据中心
服务器机房资源遍布海内外
贴心服务支持
7*24技术维护支持
普通话、英语多语言技术支持
免费故障排查处理
免费重启,重装系统,网络连接维护服务等
网络和硬件的保证
网络基础设施一流
保证安全可靠的存放环境
网络连通率99.99%
多线路骨干网接入,网速畅通无阻
管理和监控
网络连接管理
实时监测带宽使用
提供免费网络流量报告
  服务协议/条款
一、整机服务器可安装任何系统,默认Windows Server 2003系统以及linux系统,其他系统可提供完整镜像安装。
二、国内机器均要备案,如未备案的可联系客服备案,香港服务器,韩国服务器免备案。
三、退款条例:非机器问题不支持退款,质量问题可申请退款。
四、一切内容以客服聊天记录为标准,S内容直接封机器不退款。
五、新之洲数据一致续费提前三天会给您联系通知,如联系不上机器到期先下架1天第二天还未来续费或者备份资料的直接格式化。
六、免责声明,关于机器故障等情况这个是机房无法控制的,请各位用户要备份,可联系技术员设置全自动日期周期备份。
Copyright& 新之洲数据()[All Rights Reserved&
公司名称:深圳市龙华新区新之洲网络工作室
公司地址:深圳市龙华新区民治大道东边新村A区5栋306室
电话:0-8 销售:
服务器夜间值班安排 7x24小时服务QQ: 投诉电话:
营业备案号:13
微信公众号--PHP程序首选
--香港机房 美国机房 免备案
--Tomacat5/6/7 自主重启
--BGP六线访问无忧
--国内/海外 全支持
主要功能是针对微信商家公众号提供与众不同的、有针对性的营销推广服务。通过微信平台,用户可以轻松管理自己的微信各类信息,对微信公众账号进行维护、开展智能机器人、在线发优惠弧⒊榻薄⒐谓薄⑴煞⒒嵩笨ā⒋蛟煳⒐偻⒖粑⑼殴旱榷嘀只疃晕⑿庞迪钟行Ъ嗫兀罄┱骨痹诳突汉褪迪制笠档脑擞勘辍N奘褂檬奔浜凸δ芟拗
您现在的位置:&&
有关服务器(win2003)cpu使用100%常见的解决方法
大 中 小 
文章来源:
更新时间: 19:22:06
我们在使用Windows操作系统时,或多或少都遇到过cpu占用率达到100%的问题,这种情况对我们正常使用计算机造成了很大影响。下面我们来看造成CPU占用率达到100%的原因和解决方法。
?杀毒软件、驱动、病毒都可能是元凶
1、防杀毒软件造成故障
由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备。
2、驱动没有经过认证,造成CPU资源占用100%
大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。
3、病毒、木马造成
大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。
?svchost进程嫌疑很大
4、控制面板―管理工具―服务―RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。
5、开始-&;运行-&;msconfig-&;启动,关闭不必要的启动项,重启。
6、查看“svchost”进程。
svchost.exe是Windows系统的一个核心进程。svchost.exe不单单只出现在Windows中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows中svchost.exe进程的数目就上升到了4个及4个以上。
?网卡问题也可能造成CPU占用率100%
7、查看网络连接。主要是网卡。
8、查看网络连接
当安装了Windows的计算机做服务器的时候,收到端口 445 上的连接请求时,它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候,CPU占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems 设置以提高系统响应能力。如果设置的值不正确,的响应能力可能会受到影响,或者某个用户独占太多系统资源。
要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次展开[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值,在打开的窗口中键入下列数值并保存退出:如果计算机有512MB以上的内存,键入“1024”;如果计算机内存小于512 MB,键入“256”。
?XP中“谨慎”使用鼠标右键
9、检查下服务器上的站点,可能是服务器上的某个站点导致cpu100%,关闭该站点
10、dllhost进程造成CPU使用率占用100%
特征:服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的。出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的 MDAC 系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其它线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
安装“一流信息监控拦截系统”,使用其中的“首席文件检查官IIS健康检查官”软件,
启用”查找死锁模块”,设置:
--wblock=yes
监控的目录,请指定您的主机的文件所在目录:
--wblockdir=d:\test
监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblock.htm
停止IIS,再启动“首席文件检查官IIS健康检查官”,再启动IIS,“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。
过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止IIS,检查logblock.htm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:”**COUNT. MDB ”,”**COUNT.ASP”,可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动IIS,看看问题是否再次出现。我们相信,经过仔细的查找后,您肯定可以找到这个让您操心了一段时间的文件的。
找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了
相关文章:
QQ:6584830
8:00-21:00
--PHP程序首选
--香港机房 美国机房 免备案
--Tomacat5/6/7 自主重启
--BGP六线访问无忧
--国内/海外 全支持
主要功能是针对微信商家公众号提供与众不同的、有针对性的营销推广服务。通过微信平台,用户可以轻松管理自己的微信各类信息,对微信公众账号进行维护、开展智能机器人、在线发优惠弧⒊榻薄⒐谓薄⑴煞⒒嵩笨ā⒋蛟煳⒐偻⒖粑⑼殴旱榷嘀只疃晕⑿庞迪钟行Ъ嗫兀罄┱骨痹诳突汉褪迪制笠档脑擞勘辍N奘褂檬奔浜凸δ芟拗
您现在的位置:&&
有关服务器(win2003)cpu使用100%常见的解决方法
大 中 小 
文章来源:
更新时间: 19:22:06
我们在使用Windows操作系统时,或多或少都遇到过cpu占用率达到100%的问题,这种情况对我们正常使用计算机造成了很大影响。下面我们来看造成CPU占用率达到100%的原因和解决方法。
?杀毒软件、驱动、病毒都可能是元凶
1、防杀毒软件造成故障
由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备。
2、驱动没有经过认证,造成CPU资源占用100%
大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。
3、病毒、木马造成
大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。
?svchost进程嫌疑很大
4、控制面板―管理工具―服务―RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。
5、开始-&;运行-&;msconfig-&;启动,关闭不必要的启动项,重启。
6、查看“svchost”进程。
svchost.exe是Windows系统的一个核心进程。svchost.exe不单单只出现在Windows中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows中svchost.exe进程的数目就上升到了4个及4个以上。
?网卡问题也可能造成CPU占用率100%
7、查看网络连接。主要是网卡。
8、查看网络连接
当安装了Windows的计算机做服务器的时候,收到端口 445 上的连接请求时,它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候,CPU占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems 设置以提高系统响应能力。如果设置的值不正确,的响应能力可能会受到影响,或者某个用户独占太多系统资源。
要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次展开[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值,在打开的窗口中键入下列数值并保存退出:如果计算机有512MB以上的内存,键入“1024”;如果计算机内存小于512 MB,键入“256”。
?XP中“谨慎”使用鼠标右键
9、检查下服务器上的站点,可能是服务器上的某个站点导致cpu100%,关闭该站点
10、dllhost进程造成CPU使用率占用100%
特征:服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的。出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的 MDAC 系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其它线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
安装“一流信息监控拦截系统”,使用其中的“首席文件检查官IIS健康检查官”软件,
启用”查找死锁模块”,设置:
--wblock=yes
监控的目录,请指定您的主机的文件所在目录:
--wblockdir=d:\test
监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblock.htm
停止IIS,再启动“首席文件检查官IIS健康检查官”,再启动IIS,“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。
过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止IIS,检查logblock.htm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:”**COUNT. MDB ”,”**COUNT.ASP”,可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动IIS,看看问题是否再次出现。我们相信,经过仔细的查找后,您肯定可以找到这个让您操心了一段时间的文件的。
找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了
相关文章:
QQ:6584830
8:00-21:00帮我看下这个是什么错误,服务器经常cpu100_百度知道遇到的问题
使用SQLServer Profiler监控数据库
SQL1:查找最新的30条告警事件
SQL2:获取当前的总报警记录数
有哪些SQL语句会导致CPU过高?
查看SQL的查询计划
选择top记录时,尽量为order子句的字段建立索引
查看SQL语句CPU高的语句
通过建立相关索引来减少表扫描
其他优化手段
遇到的问题
有同事反应服务器CPU过高,一看截图基本都是100%了,my god,这可是大问题,赶紧先看看。
让同事查看系统进程,发现是SQLServer的CPU占用比较高。首先想到的是不是报表生成的时候高,因为这块之前出现过问题,关掉服务程序,还是高。难道是客户端程序引发的?但是这么多的客户端连接,难不成每个都叫人关闭,很简单,把网络断开即可。网络断开之后,CPU立马下降。那么问题到底在哪里呢,是时候祭出我们的利器了——SQLServer Profiler。
使用SQLServer Profiler监控数据库
让同事使用SQLProfiler监控了大概20分钟左右,然后保存为跟踪文件*.rtc。
我们来看看到底是哪句SQL有问题:
SQL1:查找最新的30条告警事件
select top 30
a.orderno,a.AgentBm,a.AlarmTime,a.RemoveTime,c.Name as AddrName,b.Name as MgrObjName,a.Ch,a.Value,a.Content,a.Level
,ag.Name as AgentServerName,a.EventBm,a.MgrObjId,a.Id,a.Cfmoper,a.Cfm,a.Cfmtime,a.State,a.IgnoreStartTime,a.IgnoreEndTime
,a.OpUserId,d.Name as MgrObjTypeName,l.UserName as userName,f.Name as AddrName2
from eventlog as a left join mgrobj as b on a.MgrObjId=b.Id and a.AgentBm=b.AgentBm
left join addrnode as c on b.AddrId=c.Id left join mgrobjtype as d on b.MgrObjTypeId=d.Id
left join eventdir as e on a.EventBm=e.Bm left join agentserver as ag on a.AgentBm=ag.AgentBm
left join loginUser as l on a.cfmoper=l.loginGuid left join addrnode as f on ag.AddrId=f.Id
where ((MgrObjId in (
select Id from MgrObj
where AddrId in ('','','','','','',''
,'','','','','','','',''
,'','','','','','','',''
,'','','','','','')))
or (mgrobjid in ('0-','0-'
,'0-','1-'
order by alarmtime DESC
SQL2:获取当前的总报警记录数
select count(*)
from eventlog as a left join mgrobj as b on a.MgrObjId=b.Id and a.AgentBm=b.AgentBm
left join addrnode as c on b.AddrId=c.Id left join mgrobjtype as d on b.MgrObjTypeId=d.Id
left join eventdir as e on a.EventBm=e.Bm
where MgrObjId in (
select Id from MgrObj where AddrId in
('','','','','','','','',''
,'','','','','','','',''
,'','','','','','','',''
,'','','','','','','','',''
,'','','','','','','','',''
,'','','','','022000','022001','022101','022102','0755','0755002')
and mgrobjid not in (
'0-','0-','0-'
,'1-','1-')
这是典型的获取数据并分页的数据,一条获取最新分页记录总数,一条获取分页记录,正是获取最新事件这里导致的CPU过高。这里的业务大概是每个客户端,每3秒执行一次数据库查找,以便显示最新的告警事件。好了,元凶找到了,怎么解决?
有哪些SQL语句会导致CPU过高?
上网查看了下文章,得出以下结论:
1.编译和重编译
编译是 Sql Server 为指令生成执行计划的过程。Sql Server 要分析指令要做的事情,分析它所要访问的表格结构,也就是生成执行计划的过程。这个过程主要是在做各种计算,所以CPU 使用比较集中的地方。
执行计划生成后会被缓存在 内存中,以便重用。但是不是所有的都可以 被重用。在很多时候,由于数据量发生了变化,或者数据结构发生了变化,同样一句话执行,就要重编译。
2.排序(sort) 和 聚合计算(aggregation)
在查询的时候,经常会做 order by、distinct 这样的操作,也会做 avg、sum、max、min 这样的聚合计算,在数据已经被加载到内存后,就要使用CPU把这些计算做完。所以这些操作的语句CPU 使用量会多一些。
3.表格连接(Join)操作
当语句需要两张表做连接的时候,SQLServer 常常会选择 Nested Loop 或 Hash 算法。算法的完成要运行 CPU,所以 join 有时候也会带来 CPU 使用比较集中的地方。
4.Count(*) 语句执行的过于频繁
特别是对大表 Count() ,因为 Count() 后面如果没有条件,或者条件用不上索引,都会引起 全表扫描的,也会引起 CPU 的大量运算
大致的原因,我们都知道了,但是具体到我们上述的两个SQL,好像都有上述提到的这些问题,那么到底哪个才是最大的元凶,我们能够怎么优化?
查看SQL的查询计划
Server的查询计划很清楚的告诉了我们到底在哪一步消耗了最大的资源。我们先来看看获取top 30的记录:
排序竟然占了94%的资源。原来是它!同事马上想到,用orderno排序会不会快点。先把上述语句在SQLServer中执行一遍,清掉缓存之后,大概是2~3秒,然后排序字段改为orderno,1秒都不到,果然有用。但是orderno的顺序跟alarmTime的顺序是不完全一致的,orderno的排序无法替代alarmTime排序,那么怎么办?我想,因为选择的是top,那么因为orderno是聚集索引,那么选择前30条记录,可以立即返回,根本无需遍历整个结果,那么如果alarmTime是个索引字段,是否可以加快排序?
选择top记录时,尽量为order子句的字段建立索引
先建立索引:
IF NOT EXISTS(SELECT * FROM sysindexes WHERE id=OBJECT_ID('eventlog') AND name='IX_eventlog_alarmTime')
CREATE NONCLUSTERED INDEX IX_eventlog_alarmTime ON dbo.eventlog(AlarmTime)
在查看执行计划:
看到没有,刚才查询耗时的Sort已经消失不见了,那么怎么验证它能够有效的降低我们的CPU呢,难道要到现场部署,当然不是。
查看SQL语句CPU高的语句
SELECT TOP 10 TEXT AS 'SQL Statement'
,last_execution_time AS 'Last Execution Time'
,(total_logical_reads + total_physical_reads + total_logical_writes) / execution_count AS [Average IO]
,(total_worker_time / execution_count) /
AS [Average CPU Time (sec)]
,(total_elapsed_time / execution_count) /
AS [Average Elapsed Time (sec)]
,execution_count AS "Execution Count",qs.total_physical_reads,qs.total_logical_writes
,qp.query_plan AS "Query Plan"
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.plan_handle) st
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
ORDER BY total_elapsed_time / execution_count DESC
我们把建索引前后CPU做个对比:
已经明显减低了。
通过建立相关索引来减少表扫描
我们再来看看count(*)这句怎么优化,因为上面的这句跟count这句差别就在于order by的排序。老规矩,用查询计划看看。
用语句select count(0) from eventlog一看,该表已经有20多w的记录,每次查询30条数据,竟然要遍历这个20多w的表两次,能不耗CPU吗。我们看看是否能够利用相关的条件来减少表扫描。很明显,我们可以为MgrObjId建立索引:
CREATE NONCLUSTERED INDEX IX_eventlog_moid ON dbo.eventlog(MgrObjId)
但是无论我怎么试,都是没有利用到索引,难道IN子句和NOT IN子句是没法利用索引一定会引起表扫描。于是上网查资料,找到桦仔的文章,这里面有解答:
SQLSERVER对筛选条件(search argument/SARG)的写法有一定的建议
对于不使用SARG运算符的表达式,索引是没有用的,SQLSERVER对它们很难使用比较优化的做法。非SARG运算符包括
NOT、&&、NOT EXISTS、NOT IN、NOT LIKE和内部函数,例如:Convert、Upper等
但是这恰恰说明了IN是可以建立索引的啊。百思不得其解,经过一番的咨询之后,得到了解答:
不一定是利用索引就是好的,sqlserver根据你的查询的字段的重复值的占比,决定是表扫描还是索引扫描
有道理,但是我查看了下,重复值并不高,怎么会有问题呢。
关键是,你select的字段,这个地方使用索引那么性能更差,你select字段 id,addrid,agentbm,mgrobjtypeid,name都不在索引里。
真是一语惊醒梦中人,缺的是包含索引!!!关于包含索引的重要性我在这篇文章《》已经提到过了,没想到在这里又重新栽了个跟头。实践,真的是太重要了!
通过建立包含索引来让SQL语句走索引
好吧,立马建立相关索引:
IF NOT EXISTS(SELECT * FROM sysindexes WHERE id=OBJECT_ID('eventlog') AND name='IX_eventlog_moid')
CREATE NONCLUSTERED INDEX IX_eventlog_moid ON dbo.eventlog(MgrObjId) INCLUDE(EventBm,AgentBM)
我们再来看看查询计划:
看到没有,已经没有eventlog表的表扫描了。我们再来比较前后的CPU:
很明显,这个count的优化,对查询top的语句依然的生效的。目前为止,这两个查询用上去之后,再也没有CPU过高的现象了。
其他优化手段
通过服务端的推送,有事件告警或者解除过来才查询数据库。
优化上述查询语句,比如count(*)可以用count(0)替代——参考《》
优化语句,先查询出所有的MgrObjId,然后在做连接
为管理对象、地点表等增加索引
添加了索引之后,事件表的插入就会慢,能够再怎么优化呢?可以分区建立索引,每天不忙的时候,把新的记录移入到建好索引的分区
当然,这些优化的手段是后续的事情了,我要做的事情基本完了。
服务器CPU过高,首先查看系统进程,确定引发CPU过高的进程
通过SQLServer Profiler能够轻易监控到哪些SQL语句执行时间过长,消耗最多的CPU
通过SQL语句是可以查看每条SQL语句消耗的CPU是多少
导致CPU高的都是进行大量计算的语句:包括内存排序、表扫描、编译计划等。
如果使用Top刷选前面几条语句,则尽量为Order By子句建立索引,这样可以减少对所有的刷选结果进行排序
使用Count查询记录数时,尽量通过为where字句的相关字段建立索引以减少表扫描。如果多个表进行join操作,则把相关的表连接字段建立在包含索引中
通过服务端通知的方式,减少SQL语句的查询
通过表分区,尽量降低因为添加索引而导致表插入较慢的影响
在文章中找不到问题答案?您还可以
热门栏目订阅

我要回帖

更多关于 服务器经常重启 的文章

 

随机推荐