在MSSQL中,如何找出哪个线程使用的CPU比较高

0    178    1

Tags:

👉 本文共约1434个字,系统预计阅读时间或需6分钟。

名词解释:
spid:sql server中的每个进程都在一个服务器进程下运行。它们被称为session id。这些会话进程中的每一个都有一个唯一的id,称为 spid。从1开始,编号1到50是预留给系统用户的,不用于用户的连接。
kpid:spid位于sql server的上下文中。相同的进程在操作系统中作为内核进程运行。每个内核进程都有自己的id,称为kpid。在windows平台上,就是sqlserver的线程号。即thread id,由window在创建线程的时候分配
ecid:如果一个进程是多线程的,则所有子线程都具有相同的父服务器进程ID(SPID)。每个子线程都有自己的唯一标识符,称为ECID。

1.首先确定是否是sqlserver占用了cpu
通过任务管理器查看即可。

在MSSQL中,如何找出哪个线程使用的CPU比较高

2.现在需要找出是SQLServer的线程占用了CPU
一旦找到kpid,就可以找到spid了。这里使用性能监视器来找对应的线程id。在windows的cmd窗口执行perfmon打开性能监视器,或者先登录控制面板,打开性能监视器

在MSSQL中,如何找出哪个线程使用的CPU比较高

3.点击增加计数器,在下拉菜单中选择thread
同时选择以下计数器:
·% Processor Time
·ID Thread
·Thread State
·Thread Wait Reason

在右侧的面板,你可能会看到来自多个运行在同一服务器上的应用的多个实例。我们关注的是sqlserver,所以选择所有以sqlserver开头的实例。并点击添加。
你也可以根据需要添加别的计数器。

在MSSQL中,如何找出哪个线程使用的CPU比较高

4.点击Ctrl+G,或者点击view report标签,从图形切换到报告视图。

在MSSQL中,如何找出哪个线程使用的CPU比较高

可以看到类似下图的报告:

在MSSQL中,如何找出哪个线程使用的CPU比较高

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
在MSSQL中,如何找出哪个线程使用的CPU比较高后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章
验证码:
请关注本站微信公众号,回复“小麦苗博客”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部