【问题标题】:SQL Server 2012 - 100% CPU until cold rebootSQL Server 2012 - 100% CPU 直到冷重启
【发布时间】:2017-03-31 16:58:45
【问题描述】:

我们有一个带有数据库镜像的 SQL Server 2012:

  • 2 Windows Server 2012 R2 (SQL Server) +
  • 1 Windows 7 见证 +
  • 2 Windows Server 2012 R2 (IIS) 与 NLB 一起使用

服务器处理器:

  • 英特尔至强 CPU E5-2609 v2
  • 内存:16GB

在测试中,镜像服务器 (B) CPU 增加到 50% 左右(通常应该低于 10%),主服务器 (A) CPU 增加到 50% 左右。

系统速度大大降低。

我们软重启镜像服务器(B)后,CPU 增加到 70%,主体服务器(A)保持不变。但是当我们软重启主体服务器(A)时,(B)CPU 增加到 100%,(A)CPU 增加到 60%。大多数连接显示时间已过期。

我们断开与服务器的所有连接(拔下网线),只保留 4 台服务器和见证。

两台服务器的CPU保持不变。

我们在(A)&(B)上重启SQL服务后,问题没有改善。

我们检查了没有具体的阻塞查询,sp_who连接正常。

直到我硬重启服务器,系统恢复正常。

感谢任何想法,谢谢!

【问题讨论】:

  • 如果您的 RAM 用完,您的系统会开始分页到磁盘并且 CPU 会出现峰值。哪个实际过程导致了 100%?是sqlservr.exe进程吗?
  • SQL Server 的最大内存设置为无限制,sqlservr.exe(A) RAM 大约 1.5 GB,sqlservr.exe(B) RAM 大约 800 MB
  • sqlservr.exe 是否会耗尽 CPU?您应该尝试将 SQL Server RAM 限制在物理 RAM 以下几 GB(从 12GB 开始),否则它会从操作系统中窃取 RAM 并引发混乱
  • 是的,它吃掉了我们所有的资源(99%CPU)
  • 所以你说 sqlservr 进程贡献了 99% 的 CPU 使用率。试试记忆的东西,看看它是否有帮助。

标签: sql-server sql-server-2012 database-mirroring sql-server-performance


【解决方案1】:

可能是您的系统工作负载非常重,它可能不需要对镜像做任何事情。您是否检查过 CPU 的等待统计信息或昂贵的查询?

值得花时间在那里。

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 2016-12-28
    • 2022-11-04
    • 1970-01-01
    • 2017-04-19
    相关资源
    最近更新 更多