12 sql-server-2008 sql-server sql-server-2008-r2
我在单个专用服务器上运行 SQL Server 2008 和基于 Web 的应用程序,只有 2Gb 可用内存。
正如其他地方所指出的,SQL Server 经常占用多达 98% 的物理内存,这似乎会减慢服务器上运行的 Web 应用程序的速度。
在 SSMS 的服务器属性中,在内存下,最大服务器内存(以 Mb 为单位)设置为:2147483647
我的问题是,考虑到我可用的内存量,并且同一台服务器也在运行 Web 应用程序,建议放入最大服务器内存框的数量是多少?
此外,在 SQL Server 运行时更改此数字是否安全?
感谢您的意见。
Sco*_*ain 15
我将首先回答最后一个问题:是的,您可以在服务器运行时更改它而不会出现问题。如果您想通过 SQL 更改值,您可以使用以下查询
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)
有关在 SQL 服务器上设置内存的更多详细信息,请参阅此页面。
你的第一个问题,不幸的是,答案是:我不能告诉你,我不在。
分配内存时需要考虑 1,000,000 件事情。查询的结果集有多大,它们多久运行一次,过去需要 20 毫秒的查询现在需要 200 毫秒吗?
Sql 的默认值假定它是服务器上唯一运行的东西,所以它只是将内存设置为 MAX_VALUE 并且当所有可用内存都在使用中时它停止增长(并且在非常接近你想要发生的专用硬件上(见Aarons 评论可能的警告))。通常,与数据库交互的任何 Web 服务器或其他软件都将位于不同的硬件上,通过网络与其进行通信。
您真的只需要将它设置为您认为合理的值,如果您的网络服务器仍然内存阻塞,请降低它。如果在为网络服务器提供所需的内存后 SQL 没有为您提供足够的性能,您将需要购买更多内存或将 SQL 移至专用硬件。
归档时间: |
|
查看次数: |
26055 次 |
最近记录: |