为什么SQL Server 2012 Express在服务器上使用9.5GB的RAM?


22

我正在构建一个计划将SQL Server 2012 Express嵌入为主要数据存储的应用程序。在我的开发机(带有3GB RAM的Win7-32​​)上进行测试时,我从未观察到该sqlservr.exe进程使用超过1GB的RAM,正如我从发布的SQL Server Express版的硬件扩展限制中所期望的那样。

然后,我将应用程序移动到服务器级计算机(具有16GB RAM的Win Server 2008R2 64位)上以评估其性能,并惊讶地发现该sqlservr.exe过程迅速扩展到大约9.5GB RAM并停留在那里。

我重新启动了几次,以查看是否有效果,但是每次,该过程迅速恢复到约9.5GB。现在,我当然很高兴SQL Server Express使用我的RAM,但是我想知道这是否是预期的行为,这样我就不会再依赖基于不正确的RAM使用情况的性能级别了。

仅供参考,根据我的说法SELECT @@VERSION,服务器计算机上SQL Server的版本为:

Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 
    Oct 19 2012 13:38:57 
    Copyright (c) Microsoft Corporation
    Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

我的9.5GB号码来自任务管理器中的“私人工作集”号码。来自DBCC memorystatus(尽管在现在处于空闲状态的服务器上)输出的第一张表如下:

PROCESS/SYSTEM COUNTS
Available Physical Memory   5543616512
Available Virtual Memory    8734902411264
Available Paging File       22471094272
Working Set                 9664200704
Percent of Committed Memory in WS   99
Page Faults                 2627510
System physical memory high 1
System physical memory low  0
Process physical memory low 0
Process virtual memory low  0

spaghettidba关于sys.dm_os_memory_clerks以下内容的建议查询的输出:

MEMORYCLERK_SQLBUFFERPOOL   1410
OBJECTSTORE_LOCK_MANAGER    256
MEMORYCLERK_SQLCLR          38
MEMORYCLERK_SOSNODE         26
CACHESTORE_SQLCP            11

加上约10个较小的条目,总计不到30MB。

Answers:


12

SQL Express的缓冲池限制为1GB,但是SQL Server中还有许多其他内存池。我感到惊讶的是过度使用了非缓冲内存池。要找出每个内存管理员的内存使用情况,请运行以下命令:

SELECT type, SUM(pages_kb)/1024 AS MemoryMB
FROM sys.dm_os_memory_clerks
GROUP BY type
ORDER BY 2 DESC

希望这可以帮助


该查询的输出为: MEMORYCLERK_SQLBUFFERPOOL 1410 OBJECTSTORE_LOCK_MANAGER 256 MEMORYCLERK_SQLCLR 38 MEMORYCLERK_SOSNODE 26 CACHESTORE_SQLCP 11 然后再有几个小文件,总和小于30MB。对我来说似乎很奇怪。-arg-为注释格式。
2013年

嗯 仅MEMORYCLERK_SQLBUFFERPOOL超出了1GB的限制,因此我们可能会遇到错误。我觉得很奇怪的是它如何使用9.5GB却没有显示在查询中。
spaghettidba

我认为sys.dm_os_memory_clerks中(在single_pages_kb旁边)还有一些其他有趣的列:virtual_memory_committed_kb在MEMORYCLERK_SQLBUFFERPOOL的情况下似乎更相关。
拉兹万·索科尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.