[英]SQL Server Express 2008 R2 Memory Issues
我有一个在Windows 2008 R2服务器上运行的网站,使用SQL Server Express 2008 R2数据库,过去几天我遇到了一些非常令人讨厌的内存问题。
这是服务器统计信息:
该网站已经运行了好几个月了,但突然之间我一直看到与SQL Server内存不足有关的错误。 以下是我见过的最常见的例外情况:
警告:致命错误9001发生在2011年10月22日上午5:02。 请注意错误和时间,并与系统管理员联系。
资源池“internal”中的系统内存不足,无法运行此查询。
已成功与服务器建立连接,但在登录过程中发生错误。 (提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。)
错误:4060,严重性:11,状态:1。(Params :)。 由于格式化期间出错,因此以简洁模式打印错误。 将跳过跟踪,ETW,通知等。 错误:18456,严重性:14,状态:1。(Params :)。 由于格式化期间出错,因此以简洁模式打印错误。 将跳过跟踪,ETW,通知等。
错误:3980,严重性:16,状态:1。(Params :)。 由于格式化期间出错,因此以简洁模式打印错误。 将跳过跟踪,ETW,通知等。
该网站似乎仍然在很大程度上作出回应。 似乎受影响最大的页面是写入数据库的页面。
我尝试重新启动sqlexpress服务以及重新启动服务器。 这两种解决方案都可以解决症状,但问题会在10到15个小时内恢复。
发生这些错误时,任务管理器报告正在使用大约1.8GB的内存。 重新启动服务后,已用内存将减少到大约600MB,并且非常缓慢地继续备份,直到异常再次出现。
非常感谢所有帮助......谢谢!
当事情开始降级时,ERRORLOG将包含有关内存分配模式的一些重要信息。 这些行看起来与此类似:
MEMORYCLERK_SQLGENERAL (node 1) KB
---------------------------------------------------------------- --------------------
VM Reserved 0
VM Committed 0
AWE Allocated 0
SM Reserved 0
SM Commited 0
SinglePage Allocator 136
MultiPage Allocator 0
(7 row(s) affected)
搜索ERRORLOG文件以查找此类事件,请遵循如何使用DBCC MEMORYSTATUS命令监视SQL Server 2005上的内存使用情况 ,因为DBCC MEMORYSTATUS的输出和ERRORLOG中由于OOM状态的输出非常相似。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.