zoukankan      html  css  js  c++  java
  • SQL SERVER 2012 只能识别20个CPU的问题

    背景

      最近在给客户优化时时候发现客户的虚拟机环境分配了32C 但是只能识别20个,物理机64C,64G内存,本来没什么,CPU利用率在40%左右,但是优化后同时增加了 CPU和内存的分配,CPU32增到48,内存30 增到50G,内存max memory也限定到46。但是周一业务高峰到来的时候数据库服务器突然挂掉,但是虽然没看到日志及报错,但客户反馈说由于数据库虚拟机申请了过大内存大于物理机内存导致虚拟机挂掉了。

    原因

      由于NUMA架构可以自行管理内存池,在安装了CAL的EE后,由于限制只能使用20个cores,同样内存则只能管理到20个cores涉及到的NUMA的对应的内存空间(具体算法为 限制内存=当前物理内存/NUMA数量*(总核数/20)),如果限制SQL Server的最大使用内存超过前面说的限制内存,则当使用内存大于限制内存需要再向操作系统再申请空间时,则会产生跨NUMA处理的情况,导致大量消耗系统资源,引起性能下降;

     

    参考链接 https://blogs.msdn.microsoft.com/saponsqlserver/2012/06/15/sql-server-2012-enterprise-editions/

  • 相关阅读:
    OpenGL中 Canvas 性能分析
    美颜重磅技术之GPUImage源码分析
    为什么我推荐你用Ubuntu开发?
    使用TensorFlow进行训练识别视频图像中物体
    常用 Git 操作
    JavaScript 禁止表单提交
    AngularJS 解决 SEO 问题
    Linux 命令
    重装Ubuntu系统并配置开发环境
    php开发入门教程
  • 原文地址:https://www.cnblogs.com/double-K/p/5158999.html
Copyright © 2011-2022 走看看