Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I've been testing SQL Server 2008R2 Express to see if it is limited to 1GB of RAM and 1 CPU.

It certainly seems to be using more than one CPU, as I see spikes on all 4 CPUs in Task Manager when I run a big query. I've selected * from all the tables in the database I have, and it got it to use 1.4GB RAM when looking at the Total Server Memory in perfmon (I gather this is the correct stat to look at). This is showing as 1.5GB Mem Usage on Task Manager (which I gather isn't reliable).

However, it does not seem to want to go any further than 1,441,792KB. This seems odd, so I am not convinced either way.

Anyone have any knowledge of why this might happen and whether the limits are actually enforced?

share|improve this question

migrated from stackoverflow.com Feb 11 '12 at 18:28

This question came from our site for professional and enthusiast programmers.

    
I've seen mine go above 3GB, which I find really weird. When I restart SQL Server it goes around 1.4/1.5GB for a few days but always ends around 3GB after a week or so. –  DermFrench Mar 11 at 14:17

2 Answers 2

up vote 7 down vote accepted

SQL Server Express does enforce the limits, but the limits are not what you expect:

SQL Server supports the specified number of processor sockets multiplied by the number of logical CPUs in each socket. For example, the following is considered a single processor for purposes of this table:

  • A single-core, hyper-threaded processor with 2 logical CPUs per socket.
  • A dual-core processor with 2 logical CPUs.
  • A quad-core processor with 4 logical CPUs.
  • Memory: Express restricts the max size of the buffer pool to only 1GB. The buffer pool accounts only for some of the overall process memory.

See Thread and Task Architecture and Memory Management Architecture

share|improve this answer
    
Thanks! That makes sense. The link you gave explains it well, and talks about the performance counters. However it does refer to "Total Server Memory" but it appears that "Maximum Workspace Memory" perf counter is about 1GB and won't go any higher, so I would say that is in fact the one to look at. On another version of SQL Server I have, this goes over 1GB. –  mike nelson Feb 9 '12 at 2:26

for the limit in cache you can take in account this performance counters that i found. MSSQL$SQLEXPRESS:Memory Manager/Database Cache Memory (KB)

 Amount of memory the server is currently using for the database cache.

MSSQL$SQLEXPRESS:Plan Cache/Cache Hit Ratio (KB)

 Ratio between cache hits and lookups
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.