如何在我们的SQL Server上释放一些RAM(显示77MB空闲)。 当我尝试运行一个查询时,我得到一个错误,说不能从RAM中启动线程。 它使用的都是77MB的,如5000+ MB。
你有没有设置“最大服务器内存”选项。 SQL可能会咀嚼所有可用的内存,导致您解释的情况发生。
你可以检查并设置如下。 它不需要重新启动系统或重新启动sql服务。
– 检查最大记忆设置
sp_configure'显示高级选项',1
走
RECONFIGURE
走
sp_configure'最大服务器内存(MB)'
走
如果run_value是2147483647或超过服务器上的实际RAM,请将其设置为服务器上的实际RAM,并为操作系统留下一些RAM。
sp_configure'最大服务器内存(MB)',4096 – 4GB
走
RECONFIGURE
走
另外,如果它是一个32位的SQL Server企业版,你可能希望考虑设置AWE
如果Web服务器池中有大量的并发用户,则可以降低池线程数并为自己释放足够的资源,而不会中断系统。
或者,您可以随时停止短时间内不必要的服务,同时尝试释放一点点。
我在这里假设你只想释放足够的空间来连接一个查询窗口,然后找出还有什么事情在吃东西。 如果这个问题经常发生,那么我build议你在一天的早些时候打开一个查询窗口,每隔几分钟运行一次sp_who2,以保持连接处于活动状态,直到服务器填满并且无法创build新线程。
我还build议你启动perfmon,并开始监控SQL Server的内存,连接和数据库级别的统计数据,并开始寻找伤害你的行为不当的应用程序。 如果这种情况经常发生,那么你要么有一些不好的代码,特别糟糕的编程,或者真正需要升级。