sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高背景 客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢,严重影响到业务运行。 1.现象 通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说明

SQL SERVER数据库服务器CPU不能全部利用原因分析

 

1.现象

通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说明等待的会话数越多。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

进入活动会话列表,发现大量会话的状态为runnable,runnable代表这个会话可以执行,但没有 CPU 可以分配给它,可以理解为正在等待 CPU 这项系统资源。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

但是此时服务器的CPU利用率并不高,在30%左右。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

从任务管理器里查看,服务器有128核心,但是绝大多数核心根本利用不上。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

 SQL专家云深度体检里有相应的诊断,SQL Server在线的CPU核数40小于检测到的CPU核数128,说明SQL Server只使用了40个核心。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

没有SQL专家云,可以使用下面的语句查询。

--CPU总数 SELECT  cpu_countFROM  sys.dm_os_sys_info

--在线CPU数 SELECT COUNT(*)FROM sys.dm_os_schedulersWHERE is_online = 1 AND status = "VISIBLE ONLINE"

2.分析

从SQL Server 2012开始,企业版有两种许可证模式,基于核心和基于服务器+CAL。基于服务器+CAL许可证限制SQL Server最多能使用20个物理处理器,如果超线程已启用,这将是40个逻辑处理器。

确认数据库的版本为SQL server 2012 Enterprise Edition,也就是服务器+CAL许可证模式。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

3.解决

在SQL Server安装文件中更换序列号,升级到基于核心的许可模式。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

重启SQL Server服务后,在SQL专家云中确认已经是基于核心的许可证模式了,并且能用使用到128个核心。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

4.其它情况

如下图,在为虚拟机分配CPU时,配置了16个插槽,每个插槽内核数为1,这样SQL Server标准版只能使用到4个CPU。应该合理的配置,例如2和8或者4和4。

sql server 数据库cpu占用率高_数据库服务器cpu占用率过高 
sql server 数据库cpu占用率高_数据库服务器cpu占用率过高

 

 

 

原文地址:https://www.cnblogs.com/xiong-01/archive/2022/08/16/16590762.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4893.html

赞 (0)
上一篇 2023-05-31
下一篇 2023-05-31

相关推荐

  • Pycharm安装库失败解决方法

    Pycharm安装库失败解决方法
    在使用Python开发过程中,我们经常需要通过Pycharm安装一些常用的第三方库。但是在安装过程中,不免会遇到一些问题,比如无法下载、安装语法报错等等,对我们的工作产生一定的阻碍。本文将会从多个方面详细介绍Pycharm安装库失败的解决方法,帮助读者解决这些常见问题。

    2024-04-25
    79
  • Python嵌套if语句:实现复杂的条件判断

    Python嵌套if语句:实现复杂的条件判断条件语句是编程语言中非常重要的一种语句类型,它根据特定的条件来判断是否执行某些代码块,也可以根据不同的条件执行不同的代码块。Python中常用的条件语句包括if语句、if-else语句、if-elif语句等。

    2024-03-13
    76
  • centOS7安装mysql8.0完美教程!!只要按照步骤,无脑操作,一次成功! – 技匠[通俗易懂]

    centOS7安装mysql8.0完美教程!!只要按照步骤,无脑操作,一次成功! – 技匠[通俗易懂]查看防火墙systemctl status firewalld重启防火墙systemctl start firewalld 1、mysql 首先关闭防火墙 systemctl stop fi

    2022-12-17
    148
  • 求最大值:Python数组的max()方法使用

    求最大值:Python数组的max()方法使用在Python中,数组是一组相同类型的元素集合,并可以通过索引值进行访问。Python中使用列表来表示数组,列表中的元素可以是任意类型,而且不需要声明数组大小。

    2023-12-07
    134
  • 20200619 学习笔记[通俗易懂]

    20200619 学习笔记[通俗易懂]主键和唯一的区别 主键:唯一、不为空、只能有一个、可以组合但不推荐 唯一:唯一、可为空、可以多个、可以组合但不推荐 外键 要求在从表设置外键关系 从表的外键列的类型和主表的关联列的类型要求一致或兼容…

    2023-03-14
    152
  • 关于sql语句的执行顺序正确的是_sql语句执行顺序解析

    关于sql语句的执行顺序正确的是_sql语句执行顺序解析首先,要清楚在一select语句中都会用到哪些关键字: select from join where group by having order by limit 其次,要知道每执行一步就会生成一个对

    2023-05-01
    150
  • 使用Python快速寻找列表中的最小值

    使用Python快速寻找列表中的最小值计算列表中的最小值是Python中的常见操作之一。我们可以使用内置函数min()、sort(),或者使用循环来寻找列表中的最小值。下面分别介绍这三种方法。

    2023-12-28
    109
  • Python工程师

    Python工程师随着信息技术的快速发展,越来越多企业开始注重数据分析能力。Python作为一种流行的编程语言,以其简洁、易读、易学、高效的特性在企业中越来越受欢迎,进而催生了一些新兴职业,如Python工程师。Python工程师也成为了近几年IT行业中一种炙手可热的职业。

    2024-04-26
    71

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注