SQL Server 固定 CPU 但仅使用 2GB 内存?

SQL Server 固定 CPU 但仅使用 2GB 内存?

我对 SQL 一无所知,我打算把它放在那里。我们的开发人员说这是一个操作系统问题。你能帮我找出从哪里开始确定这是否是操作系统问题吗?SQL 显然没有锁定页面文件中的内存,所以我们没有看到 SQLserver.exe 利用率很高。

SQL Server 2008 R2 Microsoft Server 2008 R2 CPU - Intel Xeon x6550 - 2.93GHz(2 个处理器)内存 - 20GB

CPU 使用率 - 平均 89% 内存使用率 - 平均 10%

答案1

从您发布的所有信息来看,我 99% 确信这只是他们正在运行的 T-SQL 查询。我敢打赌,这是代码生成的查询,并且某些东西正在发出带有一千个 JOIN 或类似内容的查询。

让开发人员分析他们的查询;我敢打赌,一个或另一个功能会花费大量的时间,而这正是 CPU 峰值的根本原因。

答案2

您没有提到 SQL Server 的版本,但我猜这里是标准版。您是否启用了跟踪标志 845 以使用内存中的锁定页。此 TF 在 SQL Server 2008 R2 中仍然需要,请参阅下面 Aaron Bertrand 的说明。

http://sqlblog.com/blogs/aaron_bertrand/archive/2011/02/07/sql-server-2008-r2-still-requires-a-trace-flag-for-lock-pages-in-memory.aspx

还要检查盒子上还运行着什么?

答案3

如果 CPU 利用率是由 sqlservr.exe 进程(而不是其他进程或内核)引起的,您可能需要使用以下命令进行检查进程探索器)并且您没有看到磁盘负载,则可能是不是这是一个操作系统问题,而只是查询导致的计算负载。

所讨论的数据库有多大?

答案4

兄弟,如果你的 CPU 利用率达到 100%,那么你很可能缺少索引。了解如何运行数据库调优顾问以构建最佳索引。

希望有帮助

-Aaron Kempf MCITP:DBA

相关内容