gpt4 book ai didi

sql-server - SQL Server 100% CPU 使用率 - 一个数据库显示比其他数据库高的 CPU 使用率

转载 作者:行者123 更新时间:2023-12-02 10:49:00 30 4
gpt4 key购买 nike

我们有一个 SQL 服务器,其中包含大约 40 个不同的数据库(每个数据库大约 1-5GB)。该服务器是8核2.3G CPU和32Gigs RAM。 27Gig 固定到 SQL Server。 CPU利用率大多始终接近100%,内存消耗约为95%。这里的问题是 CPU 不断接近 100%,并试图了解原因。

我已经使用 - this 运行了初步检查,以查看哪个数据库导致 CPU 过高。脚本,但我无法详细证实真正消耗 CPU 的内容。顶级查询(来自所有数据库)只需要大约 4 秒即可完成。 IO也不是瓶颈。

内存是罪魁祸首吗?我检查了内存分割情况,OBJECT CACHE 占用了分配给 SQL Server 的内存(27G)的大约 80%。我希望这很正常,只要涉及到很多 SP。运行探查器,我确实看到很多重新编译,但主要是由于“临时表更改”、“延迟编译”等,并且不清楚这些重新编译是否是由于内存压力而从缓存中抛出计划的结果

欣赏任何想法。

最佳答案

您可以在SSMS中看到一些报告:

右键单击实例名称/报告/标准/热门 session

您可以查看 CPU 消耗最高的 session 。这可能有助于了解哪些 SQL 进程正在使用资源。如果您环顾四周,还有一些其他与 CPU 相关的报告。我本来打算指出更多的DMV,但如果您已经研究过它,我会跳过它。

您可以使用sp_BlitzCache查找 CPU 消耗最高的查询。您还可以按 IO 和其他因素排序。这是使用在重新启动之间累积的 DMV 信息。

This article看起来很有希望。

一些stackoverflow奥扎尔先生的善良。

编辑:多一点建议...查询“仅”运行 5 秒可能会出现问题。它可能会使用您的所有核心,并真正运行 8 个核心,时间为 5 秒 - 40 秒的“虚拟”时间。我喜欢使用一些 DMV 来查看该代码执行了多少次,从而了解 5 秒加起来的结果。

关于sql-server - SQL Server 100% CPU 使用率 - 一个数据库显示比其他数据库高的 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12458776/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com