Мой сервер - это Windows 2003 и SQL Server 2005 Standard. 3 ГБ оперативной памяти. После запуска моей клиентской программы на некоторое время закрытые байты достигают 1,7 ГБ и никогда не сойдутся.

Только процесс 51 со статусом «запущен». Щелкните подробности.

create table #tmpDBCCinputbuffer (
[Event Type] nvarchar(512), 
[Parameters] int,
[EventInfo] nvarchar(512)) 
insert into #tmpDBCCinputbuffer exec ('DBCC INPUTBUFFER(51)') 
select [Event Info] from #tmpDBCCinputbuffer 

Телефонные соединения были закрыты.

Есть подсказка?

1
Jirapong 25 Май 2009 в 15:12
... или принадлежит частной бета-версии serverfault.com ...
 – 
gbn
25 Май 2009 в 15:55

2 ответа

Лучший ответ

1,7 ГБ - это 2 ГБ (по умолчанию) адресного пространства пользовательского режима за вычетом 384 МБ. По умолчанию SQL Server оставляет 384 МБ.

Если бы у вас было / 3 ГБ и 3 ГБ ОЗУ, было бы использовано 2,7 ГБ.

См. Эту статью, KB 316749, которая относится к SQL. С 7 по SQL 2005. Как ни странно, я не нашел этой информации где-либо еще, даже в официальных документах по памяти SQL Server. Хотя это легко воспроизвести.

2
gbn 25 Май 2009 в 15:54

SQL Server управляет своим собственным пулом памяти и возвращает память ОС при нехватке памяти (до минимального значения, установленного в настроенных значениях SQL.

Так что вам не о чем беспокоиться.

0
Mitch Wheat 25 Май 2009 в 15:31