首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用最大cpu使用率的sql server实例。

使用最大cpu使用率的sql server实例。
EN

Database Administration用户
提问于 2012-11-27 18:49:38
回答 3查看 8.2K关注 0票数 2

我在服务器机器上安装了一个SQL server 2005实例,其中包含两个vm。

服务器规范是*处理器:* Xeon : 6GB操作系统: vm软件上的窗口服务器

它正在运行部署在IIS和sql server数据库实例上的asp.net应用程序。每天约有500个用户使用此应用程序。每隔22天,处理器CPU使用率达到100%至95%。使用最多的进程(在任务管理器中)是sql服务器的实例,该实例最大(全部)处理处理器。Ram仅使用3-4 GB。

我执行了以下任务,但没有用

  1. 重新创建所有表索引,但没有任何用处。
  2. 重新启动sql server数据库引擎实例,但没有用。

但是当服务器(机器)重新启动时。sql服务器运行良好,CPU使用恢复正常。

我们不想重新启动服务器机器。这是否可以对sql server进行性能优化,使其在22天后不会阻塞服务器处理,或者如何避免它。

EN

回答 3

Database Administration用户

发布于 2012-11-28 05:50:25

尝试使用Glenn的SQL诊断查询中与CPU相关的DMV查询。实际上,我建议您运行所有诊断查询,因为CPU利用率高可能是由于实例配置方式、查询编写方式等方面的问题造成的。

Server性能站点上的这是另一篇文章,这可能有助于您排除故障。

票数 4
EN

Database Administration用户

发布于 2012-11-28 19:34:08

编写一个查询来查看Server的管理视图并报告每个繁忙的进程正在做什么并不太困难。这应该会让您找到一个需要大量CPU时间的连接。如果他们正在执行一个查询,您可以改进该查询;或者,如果他们正在进行清理或系统级别的工作,您可以工作来解决这个问题。这个查询将向您显示运行的内容和所花费的CPU时间,将最多的CPU排序到最低。

请注意,查询返回活动结果。如果每一行运行两次,那么每次都会得到不同的结果,因为第二次运行时会显示服务器的活动状态。另一方面,这是很好的:连续两次运行应该会使某些查询或连接运行很长时间,并给您带来麻烦。

如果CPU占用的时间不太清楚,您应该向我们报告这个查询的一些输出,这样我们就可以继续帮助您诊断问题。

代码语言:javascript
复制
SELECT
    cpu_time, total_elapsed_time,
    session_Id, [DatabaseName] = DB_NAME(sp.dbid), Hostname, [User] = nt_username,
    [Status] = ER.status, [WaitType] = wait_type,
    [QueryText] = SUBSTRING (QT.text, ER.statement_start_offset/2, (CASE WHEN ER.statement_end_offset = -1
       THEN LEN(CONVERT(NVARCHAR(MAX), QT.text)) * 2
    ELSE ER.statement_end_offset END - ER.statement_start_offset)/2),
    [Parent Query] = qt.text, [Program] = program_name,  start_time
FROM sys.dm_exec_requests AS ER
INNER JOIN sys.sysprocesses AS SP ON ER.session_id = SP.spid
CROSS APPLY sys.dm_exec_sql_text(ER.sql_handle) AS QT
WHERE session_Id <> @@SPID
ORDER BY cpu_time DESC, total_elapsed_time DESC ;
票数 2
EN

Database Administration用户

发布于 2012-11-28 23:00:09

您的SQL Server的统计数据可能正在老化,或者您对参数嗅探有问题。

如果问题是统计数据正在变老,那么更新统计数据就可以了。如果问题是参数嗅探,那么刷新SQL Server的缓存,以便将错误的计划从其中清除出来,就会奏效。

无论是哪一种情况(或者问题是什么),您都需要通过诊断和故障排除来找出问题的原因,然后解决问题。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/29405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档