sql Server服务区cpu占用率高,原因分析

查找高 CPU 查询

通过以下查询,可以找出占用 CPU 资源最多的查询:

sql
SELECT 
    SQLText.text AS QueryText,
    SQLStats.execution_count AS ExecutionCount,
    SQLStats.total_worker_time / 1000 AS TotalCPUTimeMS,
    SQLStats.total_worker_time / SQLStats.execution_count / 1000 AS AvgCPUTimeMS,
    SQLStats.total_elapsed_time / 1000 AS TotalElapsedTimeMS,
    SQLStats.total_elapsed_time / SQLStats.execution_count / 1000 AS AvgElapsedTimeMS
FROM 
    sys.dm_exec_query_stats SQLStats
    CROSS APPLY sys.dm_exec_sql_text(SQLStats.sql_handle) AS SQLText
ORDER BY 
    TotalCPUTimeMS DESC;

这会返回消耗 CPU 时间最多的查询。你可以根据查询的执行次数和 CPU 时间进一步分析

使用 DMVs 进行分析

使用动态管理视图 (DMVs) 获取更多关于 CPU 使用情况的详细信息。

sys.dm_exec_sessions:查看当前连接的会话。

SELECT     
    total_elapsed_time, 
	host_name,
	program_name,
    status, 
    login_name
	,*
FROM 
    sys.dm_exec_sessions 
WHERE 
    cpu_time > 1000  -- 调整这个阈值来寻找高 CPU 的会话
ORDE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值