【发布时间】:2012-09-17 12:04:09
【问题描述】:
我们有一个 SQL 服务器,其中包含大约 40 个不同的数据库(每个数据库大约 1-5GB)。服务器是一个 8 核 2.3G CPU 和 32G 内存。 27Gig 固定到 SQL Server。 CPU 利用率几乎总是接近 100%,内存消耗约为 95%。这里的问题是 CPU 一直接近 100% 并试图了解原因。
我已经使用 -this 脚本运行了一个初始检查,以查看哪个数据库对高 CPU 有贡献,但我无法详细证实真正消耗 CPU 的内容。顶部查询(来自所有数据库)只需大约 4 秒即可完成。 IO 也不是瓶颈。
内存会是这里的罪魁祸首吗?我检查了内存拆分,并且 OBJECT CACHE 占用了分配给 SQL Server 的大约 80% 的内存 (27G)。我希望这是正常的,只要涉及到很多 SP。运行分析器,我确实看到了很多重新编译,但主要是由于“临时表更改”、“延迟编译”等,不清楚这些重新编译是否是由于内存压力导致计划被抛出缓存的结果
欣赏任何想法。
【问题讨论】:
-
我假设您已经检查了 sql server 可执行文件并确保它正在使用 CPU 周期。
-
是的,我查过了,是SQL Server进程占用了所有的CPU
标签: sql-server sql-server-2005 cpu-usage sql-server-performance