zoukankan      html  css  js  c++  java
  • SQLSERVER排查CPU占用高的情况

    --查询CPU耗时最多的50个查询
    SELECT TOP 50 total_worker_time/execution_count/1000/1000 AS [CPU平均执行(秒)],
    SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
    ((CASE qs.statement_end_offset
    WHEN -1 THEN DATALENGTH(st.text)
    ELSE qs.statement_end_offset
    END - qs.statement_start_offset)/2) + 1) N'执行语句'
    ,st.text N'完整语句'
    ,total_worker_time/1000/1000 AS [总消耗CPU 时间(秒)]
    ,execution_count [运行次数]
    ,qs.total_worker_time/qs.execution_count/1000/1000 AS [平均执行CPU 时间(秒)]
    ,last_execution_time AS [最后一次执行时间]
    ,max_worker_time /1000/1000 AS [最大执行时间(秒)]
    ,total_physical_reads N'物理读取总次数'
    ,total_logical_reads/execution_count N'每次逻辑读次数'
    ,total_logical_reads N'逻辑读取总次数'
    ,total_logical_writes N'逻辑写入总次数'
    FROM sys.dm_exec_query_stats AS qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
    WHERE last_execution_time>'2015-10-26 14:25:00'
    ORDER BY total_worker_time/execution_count DESC;


    --查询当前阻塞的请求
    SELECT session_id ,status ,blocking_session_id
    ,wait_type ,wait_time ,wait_resource
    ,transaction_id
    ,SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
    ((CASE qs.statement_end_offset
    WHEN -1 THEN DATALENGTH(st.text)
    ELSE qs.statement_end_offset
    END - qs.statement_start_offset)/2) + 1) AS statement_text
    FROM sys.dm_exec_requests qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
    WHERE status = N'suspended';

  • 相关阅读:
    MySQL命令行基本操作
    MYSQL多表查询笔记
    MYSQL事务笔记
    Linux测试环境部署相关命令和步骤
    Jmeter录制脚本
    办公软件通讯录排序相关测试点
    Burp Suite抓包App
    安全测试 Burp Suite抓包工具
    及时通信办公软件,验证码登录,获取验证码失败原因分析和规避方法
    redis内存溢出问题分析和后续规避方法
  • 原文地址:https://www.cnblogs.com/littlewrong/p/4911247.html
Copyright © 2011-2022 走看看