简体   繁体   中英

SQL Server Express 2008 R2 Memory Issues

I have a website running on a Windows 2008 R2 server, using a SQL Server Express 2008 R2 database, and I have been experiencing some pretty nasty memory issues the last several days.

Here's the server stats:

  • It's a Rackspace Cloud Server
  • Windows Server 2008 R2 Enterprise SP1 x64
  • Quad-Core AMD Opteron 2.34GHz
  • 2GB RAM
  • SQL Server 2008 R2 Express Edition with Advanced Services x64
  • Full text indexing is being used

The website has been running good for a few months now, but all of a sudden I've been seeing errors related to SQL Server running out of memory. Here are the most common exceptions I've seen:

Warning: Fatal error 9001 occurred at Oct 22 2011 5:02AM. Note the error and time, and contact your system administrator.


There is insufficient system memory in resource pool 'internal' to run this query.


A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)


Error: 4060, Severity: 11, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped. Error: 18456, Severity: 14, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.


Error: 3980, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.

The website still seems to respond for the most part. The pages that seem to be affected the most are the ones that write to the database.

I have tried restarting the sqlexpress service as well as restarting the server. Both solutions fix the symptoms, but the problem comes back within about 10 to 15 hours.

When these errors occur, Task Manager reports that around 1.8GB of memory is being used. After I restart the service, the used memory drops back down to about 600MB used and very slowly climbs backup until the exceptions start showing up again.

All help will be greatly appreciated... thanks!

The ERRORLOG will contain some important information about the memory allocation pattern when things started to degrade. The lines will look similar to this:

  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)

Search your ERRORLOG files for such occurrences, the follow the guidance from How to use the DBCC MEMORYSTATUS command to monitor memory usage on SQL Server 2005 , since the output of DBCC MEMORYSTATUS and the output in the ERRORLOG due to OOM status is quite similar.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM