SQL Server内存不断增加,从每周使用的1GB RAM增加到7GB


8

我有一个〜45GB的数据库,该数据库迅速增加(每周〜1GB)。

因此,它做了很多插入操作;该网络应用没有太多用户,因此目前阅读量很低。

但是我注意到RAM sql服务器用户从服务器首次启动时的〜1GB变为一周后使用〜7GB的RAM。

是否存在某种内存泄漏?在MSDN上有一篇文章建议SQL Server增加其用于缓存的内存,并且这种情况将一直持续增加。但是,该服务器只有7.5GB或ram,因此我担心它会耗尽内存,除非我每周重新启动SQL Server ...这似乎是错误的。

这是典型行为吗?我可以设置一些设置来限制内存使用量吗?


3
请参阅Farseeker的答案。他撞到了头。这是正常的,即开即用的行为,并且可以限制SQL的内存使用。您真的不需要这样做。我们的SQL Server在数小时内将内存限制为10.5GB-11GB(总共12GB)。当我们看到具有这么多内存的SQL时,我和我的DBA感到非常高兴。这意味着我们的应用程序可以更快地访问该数据。
Cypher

Answers:


14

SQL Server应该使用尽可能多的ram。SQL Server也非常聪明。我们拥有的数据库服务器的RAM范围从2Gb到96Gb,而且从来没有一次,我不得不介入并开始手动管理RAM,并且大多数服务器的利用率为99.5%。

一个简单的事实是,与消耗96Gb内存的SQL Server相比,运行1Gb内存的SQL Server的读取速度要慢得多。

除非与其他占用大量内存的角色共享SQL Server角色,否则就别管它了。它永远不会使用系统中可用的更多内存,并且如果利用率达到99%,那就太好了-您已经创建了一个大的缓存,从现在开始事情将会更快。


谢谢,不知道这是预期的和想要的行为。那我一定别管它。
rksprst,2010年

1
@rksprst-一切都很好,这需要一些时间来习惯。
Mark Henderson

2

通常,您需要为操作系统分配1-2 Gig的RAM,以使OS具有可以使用的RAM。然后,SQL Server可以拥有其余的内存。


一些MS资料来源建议您限制内存容量,因此+1。
山姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.