VMware中CPU分配不合理以及License限制引起的SQL Scheduler不能用于查询处理

有一台SQL Server(SQL Server 2014 标准版)服务器中的scheduler_count与cpu_count不一致,如下截图所示:

SELECT  cpu_count ,
        scheduler_count 
FROM    sys.dm_os_sys_info;

 

SQL Server中Scheduler数量应该与逻辑CPU的核数一致,而sys.dm_os_sys_info中的scheduler_count 为8,少于cpu_count的12个数量,那么很有可能,有一些Scheduler的状态为VISIBLE ONLINE.下面摘自Healthy SQL: A Comprehensive Guide to Healthy SQL Server Performance

SELECT  is_online 
       ,[status]
       , COUNT(*) AS [count]
FROM sys.dm_os_schedulers
WHERE scheduler_id < 255
GROUP BY is_online,
         [status];

 

官方文档https://msdn.microsoft.com/en-us/library/ms177526.aspx关于Status的介绍如下:

Indicates the status of the scheduler. Can be one of the following values:

- HIDDEN ONLINE

- HIDDEN OFFLINE

- VISIBLE ONLINE

- VISIBLE OFFLINE

- VISIBLE ONLINE (DAC)

- HOT_ADDED

Is not nullable.

HIDDEN schedulers are used to process requests that are internal to the Database Engine. VISIBLE schedulers are used to process user requests.

OFFLINE schedulers map to processors that are offline in the affinity mask and are, therefore, not being used to process any requests. ONLINE schedulers map to processors that are online in the affinity mask and are available to process threads.

DAC indicates the scheduler is running under a dedicated administrator connection.

HOT ADDED indicates the schedulers were added in response to a hot add CPU event.

 

其中关于OFFLINE与ONLINE的解释:OFFLINE 计划程序在关联掩码中映射到处于脱机状态的处理器,因此不用于处理任何请求。 ONLINE 计划程序在关联掩码中映射到处于联机状态的处理器,并且可用于处理线程。

 

基本上,调度程序(SQL Schedulers)不会用于查询处理。 这种情况是由关联掩蔽或许可限制引起的:

 

SQL Schedulers disabled

When SQL Server uses a portion of the server processors , the is_online column on the sys.dm_os_schedulers will return 0.

 Basically , the scheduler will not be used for query processing. The situation is caused by either affinity masking or licensing restrictions

Be careful if you attempt to change these number – either be confident you know how to use affinity maskingor if Virtualization is used , speak to the VM administrator about apportioning more cores per virtual socket. In either case analyse the impact and test thoroughly

 

检查服务器的CPU资源使用情况,发现在Resource Monitor里面,有些逻辑CPU上利用率几乎为零。基本上就可以判定是SQL License许可限制的可能性最大

 

 

检查官方文档SQL Server 2014 各个版本支持的功能发现标准版单个实例使用的最大计算能力(SQL Server 数据库引擎)限制为4个插槽或16核,取两者中最小值。如下截图所示

 

 

检查服务器的CPU配置,发现CPU资源配置如下:12核是(虚拟插槽数6*每个插槽的内核数为2)也就是说6*2=12 ,超出了License限制(4个插槽数),所以应该调整为4(虚拟插槽数)*3(内核数)才能有效的利用分配到CPU资源.

 

参考资料:

https://msdn.microsoft.com/zh-cn/library/ms177526.aspx

http://www.sqlserver-dba.com/cpu/

时间: 2024-12-10 06:02:03

VMware中CPU分配不合理以及License限制引起的SQL Scheduler不能用于查询处理的相关文章

负载均衡和HA服务器在VMware中的分配

问题描述 假设如下图需要实现的负载均衡和高可用HA的拓扑图,服务器均是VMWareESXi中的vm,那么这些vm怎样在VMware中的host分配才比较合理呢,假设有不只一个VMwareHost.不知道说明白没有,或者说在VMWare的host中,怎样分配负载均衡和高可用HA的各个服务器vm才比较合理,一般企业中是怎么处理这个问题的.牵扯到服务集群和VMware的结合问题,本人缺少实际操作经验.如:LVS的master和slaveapache+nginx的master和slavemysql及nf

虚拟机VMWARE中ORACLE License的计算方式

Oracle License的计算有两种方式:按照用户数和CPU个数. 其中按CPU计算方式如下: License Number = The Number of CPU Cores  *  Core Factor 其中Core Factor 可以参考官方文档 Oracle Processor Core Factor . 如果Oracle 安装在VMWARE 上,是否也是按照这个方式计算呢? 也就是说,在虚拟机VMWARE上Oracle的License计算是否也是按照分配CPU核数来计算的呢? 关

CentOS 7 在vmware中的网络设置详细介绍_Linux

CentOS 7 在vmware中的网络设置 前言:由于工作中需要使用Linux,在虚拟机中装了CentOS7,以作实验之用,安装后使用过程中出现不少问题,主要是网络问题,安装后出现下列几种状况: (1)宿主机网络正常,在虚拟机的centos中无法访问外网. (2)宿主机可以ping通,且可以使用SSH连接,但无法telnet虚拟机centos的端口. (3)centos 固定IP问题 (4)防火墙设置问题 经过查阅相关资料及实践,才把网络问题解决,在此记录一下. 一.环境说明 vmware w

VMware中如何安装Windows Vista操作系统

VMware是应用最广泛的虚拟软件,下面我们就给大家讲讲VMware中如何安装Windows Vista操作系统. 进入VMVare,首先我们新建虚拟机: 下图,点击下一步: 配置虚拟机,建议典型,熟悉一些的用户可以自定义: 选择Vista操作系统,下一步,如图: 给虚拟机命名,然后选择安装的路径: 选择网络类型: 磁盘容量建议16G以上: "完成"后,我们开始选择安装VISTA: 选择CD-ROM,选择ISO的路径,点击"确定": 接下来我们可以看到CD-ROM

在VMware中安装Windows Phone SDK 8.0图文

  安装的是英文版SDK,但是最后安装完成后提示的是中文!!! 另外如果我们电脑太老,可能安装SDK后,报出"CPU不支持虚拟化"的错误,此时虽然开发工具可以正常安装,但是无法使用Windows Phone 8模拟器进行调试程序了,只能用真机调试. Windows Phone 8 可向应用开发人员提供大量新增和更新功能,包括本地游戏开发.Windows 运行时 的手机特定版本和新内核.我们编写了此介绍以帮助您了解 Windows Phone 8 和 Windows Phone SDK

如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)

原文:如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试) 相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境.在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲的内容适用于此环境. 软件环境:Windows 7 旗舰版 (x64).VMware Workstation 10,硬件环境:Xeon CPU E3 1230 (4核).       简介 想要安装 Win

在vmware中安装Ubuntu,找不到硬盘?

在vmware中安装http://www.aliyun.com/zixun/aggregation/13835.html">Ubuntu,找不到硬盘? 在 vmware 中建立你的虚拟 磁盘的时候,当选择类型 (ide/scsi) 时选择自定义, 选择 ide, 就可以了.

mfc-求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID?

问题描述 求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID? 求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID? 解决方案 资源是编译时候的概念,加载是运行时候的概念. 资源被资源编译器编译,再通过链接器附加到可执行文件上.程序运行的时候它是只读的. 解决方案二: 不知道你为什么要怎么做,不可以直接在程序中调用资源吗 解决方案三: 用CXImage等类库可以加载文件 解决方案四: 用CImage加载本地图片就不要放到资源视图中了,也就没有资源ID的概念了.

Linux VMware中鼠标中键无法使用怎么办

  在VMware中安装了ubuntu,可是发现鼠标中键不能使用,很多用户对此无法接受,尤其是看网页习惯了的用户.不知道是VMware的原因还是其他的安装方式也有这样的问题.于是,上网搜了一下,发现原来并不是我一个遇到这样的问题,很多高手前辈也遇到过,这下就好办多了.前人栽树后人乘凉,还是很感谢他们的.下面就把我的解决方法和大家一起分享一下. sudogedit /etc/X11/xorg.conf //这里是编辑配置文件,在ubuntu中配置文件可以打开,但是没有修改的权限,所以必须以管理员的