我是一名开发人员,当我将我们的网站部署到生产服务器(具有 3GB 内存)时,我总是看到 mssql 进程使用 1GB 内存。我们处于启动状态,因此数据库实际上并没有做很多事情(有时 10 分钟内没有请求)。
那时 1GB 很多吗?或者 SqlServer 是否有某种下限内存使用量?
米歇尔
答案1
对于 MS Sql Server 来说,1 GB 实际上并不算多 - 我们的 Sql 2005 集群机器在通常安静时使用 3 GB,虽然我们不是一家初创公司,但我们没有特别繁重的数据库架构。
对于 SQL 机器来说,3 GB 的物理 RAM 并不算多;我们的集群机器有 32 GB 的 RAM,在压力之下会使用大量 RAM;Sql Server 可以暂时使用大量物理内存。
您可以限制内存使用量。在 Sql Server Management Studio 中,右键单击服务器节点并选择“属性”。内存是第二页,您可以在其中设置最小值和最大值。这在 Sql Server 2005 和 Sql Server 2008 中是相同的。如果我没记错的话,您需要具有 serveradmin 角色或更高角色才能管理此设置。
答案2
对我来说这不算多。对于数据库机器来说 3GB 听起来相当低。我不是 DBA,但据我所知,我接触过的每台数据库机器都运行在 8GB 以上
我相信你可以限制 sqlserver 使用的内存(此处http://www.teratrax.com/articles/sp_configure_max_memory.html)但如果可能的话我不会这样做,因为这会导致性能下降。
答案3
是的,这是可能的。检查服务器属性,您可以设置 SQL Server 使用限制。
SSQL Server 默认使用尽可能多的内存 - 用于 IO 缓存。它知道服务器使用的内存超过 64gb。最终,这取决于您拥有的数据库。
1GB 并不算多。