小编psh*_*e73的帖子

虚拟化 SQL 高 CPU

这是一个需要大修的客户端环境,所以我要做的就是减缓流血。

情况

CPU 被压垮了,通常是 80% 或更高的利用率

VMWARE 5.5、Windows Server 2008r2、SQL Server 2012

1 个具有 6 核的 vCPU(此处为红旗)

70GB 内存

16 个独立的实例,驱动大部分 CPU 使用的实例有 80 个用户数据库

所有大多数实例 MAXDOP 0,所有并行成本阈值为 5

中断现在不是一个选项,所以没有重新启动,没有 vCPU 更改,但我需要减缓高 CPU 的出血。

这是前 10 个当前等待具有 80 个 DB 的实例的示例,CPU 猪:

??????????????????????????????????????????????????????????????????????
?      wait_type       ? Wait Time (Secs) ? # of Waits ? Avg ms/Wait ?
??????????????????????????????????????????????????????????????????????
? WRITELOG             ? 9.8              ? 5563       ? 1.8         ?
? PAGELATCH_SH         ? 7                ? 21742      ? 0.3         ?
? SOS_SCHEDULER_YIELD  ? 6.5 …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008-r2 configuration vmware

6
推荐指数
1
解决办法
937
查看次数

查询处理和缓冲池

当 SQLServer Server 2008r2开始处理查询时,我知道它需要解析 SQL 文本并创建计划,以及其他一些步骤。

它是在缓冲池之外的内存中完成所有这些工作的,对吗?

在实际执行查询以检索/操作数据之前,缓冲池不会发挥作用,对吗?

设想:服务器不是我配置的)

SQL Server 2008r2 SP1 - 是的,它需要打补丁,这是在雷达上 96 GB 的 RAM 最大内存设置为 92 GB 缓冲池,位于 80 GB 以下 使用 PLE 超过 4 小时 查看 resource_semaphore WAITS

如果我理解用于处理查询的内存授予不是来自缓冲池,而是来自剩余的可用内存,那么减少 MAX Memory 应该有助于重新调整 WAIT 类型。我的想法是将 MAX Memory 设置为 72 GB。你的意见?

谢谢!

performance sql-server memory sql-server-2008-r2 query-performance

6
推荐指数
1
解决办法
614
查看次数

虚拟化 SQL Server 内存奇数

我以前从未见过这种情况,尽管这可能很常见。我正在查看虚拟化 (VMWare 5.5) SQL Server(Windows 2008 R2 上的 2008R2)。我看到的是,在任务管理器 * 中,sqlserver.exe使用了大约 163 MB 的 RAM,如果我使用procexp,则相同的服务显示使用的 RAM 不到 500 MB。

VM 有 32GB 的 RAM,任务管理器显示正在使用该 RAM 的 31.7GB。VMWare Perfmon 计数器似乎没有指示任何膨胀(也许我读错了一些东西)。

想法/指导表示赞赏。我正在尝试调整新 SQL VM 的大小。此时,我还没有获得对 vSphere 或 vCenter 数据库的访问权限。

* 使用任务管理器是因为我正在查看整体内存利用率,而不仅仅是 SQL Server。一位性能敏感的管理员警告我要让我的脚步保持非常轻松。

sql-server memory sql-server-2008-r2 vmware windows-server

5
推荐指数
1
解决办法
200
查看次数