sql server 导致cpu占有率达到90%多,请问如何解决?

baitongshida 2011-09-16 10:28:28
我服务器上的网站只有几个网站,现在导致cpu占有率特别高,这个是怎么回事呢?

我怎么知道是我的那个查询语句导致的这个情况发生。就是如何查看那段程序导致的占有资源这种情况发生呢?
...全文
342 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengke0828 2011-09-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ap0405140 的回复:]
如果是SQL 2005及以上,以下可查询最耗CPU的语法.

SQL code

SELECT *
FROM sys.dm_exec_query_stats
ORDER BY [Avg CPU Time] DESC
[/Quote]

这个sql里面的 [Avg CPU Time] 没有这个字段,而且也查不出相关的sql语句呀
dawugui 2011-09-17
  • 打赏
  • 举报
回复
CPU占用率高的九种可能
1、防杀毒软件造成故障
由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,者,升级你的硬件配备。
2、驱动没有经过认证,造成CPU资源占用100%
大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。
3、病毒、木马造成
大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。
4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。
5、开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。
6、查看“svchost”进程。
svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。
7、查看网络连接。主要是网卡。
8、查看网络连接
当安装了Windows XP的计算机做服务器的时候,收到端口 445 上的连接请求时,它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候,CPU占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems 设置以提高系统响应能力。如果设置的值不正确,服务器的响应能力可能会受到影响,或者某个用户独占太多系统资源。
要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次展开[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值,在打开的窗口中键入下列数值并保存退出:
9、看看是不是Windows XP使用鼠标右键引起CPU占用100%
在资源管理器里面,当你右键点击一个目录或一个文件,你将有可能出现下面所列问题:
任何文件的拷贝操作在那个时间将有可能停止相应
网络连接速度将显著性的降低
所有的流输入/输出操作例如使用Windows Media Player听音乐将有可能是音乐失真成因:
当你在资源管理器里面右键点击一个文件或目录的时候,当快捷菜单显示的时候,CPU占用率将增加到100%,当你关闭快捷菜单的时候才返回正常水平。

Q315054403 2011-09-17
  • 打赏
  • 举报
回复
2000:只有Profiler,再自己分析
2005、2008:查询相关DMV

有偿支持
唐诗三百首 2011-09-17
  • 打赏
  • 举报
回复
如果是SQL 2005及以上,以下可查询最耗CPU的语法.

SELECT *
FROM sys.dm_exec_query_stats
ORDER BY [Avg CPU Time] DESC
-晴天 2011-09-16
  • 打赏
  • 举报
回复
开始菜单-->SQL SERVER 2005 -->性能工具-->SQL Server profiler
自己看看它的用法.
baitongshida 2011-09-16
  • 打赏
  • 举报
回复
恩,是sql server 导致的,我怎么才能找出严重消耗cpu时间的SQL语句呢?
--小F-- 2011-09-16
  • 打赏
  • 举报
回复
用SQL PROFILTER跟踪下

这样的结果还有可能是并发数太多造成的CPU瓶颈
-晴天 2011-09-16
  • 打赏
  • 举报
回复
跟踪一下,看是否由于数据库服务造成的.

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧