美文网首页SQL数据库学习
SQLSERVER排查CPU占用高的情况

SQLSERVER排查CPU占用高的情况

作者: 践行数据分析 | 来源:发表于2021-01-06 16:00 被阅读0次

最近发现SQLserver进程占用CPU的很大,导致应用程序部分程序打开缓慢,

把sqlserver服务重新启动以后,情况好转,但是过一段时间或者一会,cpu占用有大了。

最后排除发现是网络内某个机器访问sql过大造成的,怎么找到这个具体的机器呢

利用下面语句:

USE master

GO

----如果要指定数据库就把注释去掉

SELECT * FROM sys.sysprocesses WHERE spid>50 AND DB_NAME([dbid])='JHLZB'

SELECT COUNT(*) FROM sys.dm_exec_sessions WHERE session_id>50

看一下当前的数据库用户连接有多少,都是什么机器连接的,哪个机器连接消耗cpu大,找到具体的机器处理。

然后使用下面语句看一下各项指标是否正常,是否有阻塞,这个语句选取了前10个最耗CPU时间的会话

SELECT TOP 10

[session_id],

[request_id],

[start_time] AS '开始时间',

[status] AS '状态',

[command] AS '命令',

dest.[text] AS 'sql语句',

DB_NAME([database_id]) AS '数据库名',

[blocking_session_id] AS '正在阻塞其他会话的会话ID',

[wait_type] AS '等待资源类型',

[wait_time] AS '等待时间',

[wait_resource] AS '等待的资源',

[reads] AS '物理读次数',

[writes] AS '写次数',

[logical_reads] AS '逻辑读次数',

[row_count] AS '返回结果行数'

FROM sys.[dm_exec_requests] AS der

CROSS APPLY

sys.[dm_exec_sql_text](der.[sql_handle]) AS dest

WHERE [session_id]>50 AND DB_NAME(der.[database_id])='JHLZB' 

ORDER BY [cpu_time] DESC

相关文章

  • SQLSERVER排查CPU占用高的情况

    最近发现SQLserver进程占用CPU的很大,导致应用程序部分程序打开缓慢, 把sqlserver服务重新启动以...

  • 线上问题排查基本思路

    cpu占用过高排查思路 1、top查看占用cpu高的进程 pid2、top -Hp pid 查看进程中占用cpu过...

  • 排查高CPU占用

    一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 (友情提示:本博文章欢迎转载,但...

  • 排查java-CPU使用率高的问题

    记录一次线上排查CPU使用高的问题 使用top命令找到占用CPU高的进程PID 显示线程列表 使用 找到占用CPU...

  • Java应用服务器CPU占用过高原因排查

    Java应用服务器CPU占用过高原因排查 问题 Java应用服务器进程出现CPU占用率过高情况 排查过程 找到占用...

  • cpu长时间占用过高排查

    CPU占用过高排查步骤1、top命令查看应用占用CPU情况: top 2、确定是否是 tomcat 的 java...

  • CPU占用高问题排查

    步骤 查看CPU占用率高的程序 查看CPU占用最高的几个程序 查看PID对应的程序具体信息 输出具体日志 查看程序...

  • 高内存占用处理方法

    前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查。 搞Java开发的,经常会碰到下...

  • 如何分析Java程序CPU使用率和平均负载

    参考来源 Load和CPU利用率是如何算出来的线上应用故障排查之一:高CPU占用

  • 排查Java高CPU占用原因

    开篇  在简书看到一篇公众号讲如何排查CPU问题,想了想在日常工作中也偶尔遇到这样的问题,所以在网上搜了搜该方面的...

网友评论

    本文标题:SQLSERVER排查CPU占用高的情况

    本文链接:https://www.haomeiwen.com/subject/rxanoktx.html