Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Можно ли узнать что закэшировал sql server?  [new]
leonix
Member

Откуда:
Сообщений: 424
SQL Server съедаем почти всю оперативную память. Даже в случае простоя,т.е. например когда пользователи на обеде память всё равно не освобождается. Скорей всего пытаешься закэшировать некоторые данные. Есть предположение что он кэшируют совсем не нужные данные. Можно ли управлять кэшированием? Ну например сказать серверу что вот эту таблицу не кэшируй.
3 дек 14, 22:31    [16946647]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
leonix,

Это нормальное поведение SQL сервера. Управлять кэшированием так, как Вы хотите нельзя.
"Есть предположение что он кэшируют совсем не нужные данные." - сие утверждение не верно.
3 дек 14, 22:48    [16946706]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
leonix
Member

Откуда:
Сообщений: 424
Ну хотябы можно сбросить все кэши не перезапуская службу?
3 дек 14, 22:59    [16946773]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
leonix
Ну хотябы можно сбросить все кэши не перезапуская службу?
зачем? вы просто можете ограничить размер буферпула с помощью настройки
3 дек 14, 23:02    [16946792]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
leonix
Ну хотябы можно сбросить все кэши не перезапуская службу?

Можно, но полагаю это не цель Вашего поста. Если скуль чего-то затащил в буфер стало быть оно ему нужно. Примите как данность.
3 дек 14, 23:08    [16946825]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
leonix,

насколько я понимаю, сервер отжирает все ресурсы которые когда-то ему понадобились
и никогда не отпускает их до его перезагрузки
вероятно что просто отпускание ресурсов там не реализовано (не уверен но такое впечатление)
когда его ограничивают то он крутится в ограниченных пределах
при нормальной работе то это не особенно надо
при разработке если например на ноутбуке стоит сервер
то периодически приходится стоп старт делать чтобы мозги прочистить
3 дек 14, 23:25    [16946904]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
Glory
Member

Откуда:
Сообщений: 104751
leonix
Даже в случае простоя,т.е. например когда пользователи на обеде память всё равно не освобождается.

А кто-то просил его освободить ? Оп.система, например ?

leonix
Есть предположение что он кэшируют совсем не нужные данные.

Откуда вы знаете, какие данные нужны в кэше, а какие не нужны ?

leonix
Можно ли управлять кэшированием? Ну например сказать серверу что вот эту таблицу не кэшируй.

Вы считаете, что лучше сервера справитесь с кэшированием ?
3 дек 14, 23:26    [16946908]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
leonix
SQL Server съедаем почти всю оперативную память.
И что вам совсем ничего не остается? Какой жадный сервер.

А если по делу, то сначала прочитайте о том как сервер работает с памятью, для чего использует, в каких случаях освобождает ОС и какие таблицы и зачем кэширует. После этого можете написать свой менеджер памяти, с управлением кэшированием и прочими плюшками, и продать его майкрософту.
4 дек 14, 00:42    [16947048]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
leov
leonix,
вероятно что просто отпускание ресурсов там не реализовано (не уверен но такое впечатление)
Освобождает, только если попросят.

По событию "пользователи ушли на обед" память не освобождается.
4 дек 14, 00:43    [16947051]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли узнать что закэшировал sql server?  [new]
SuperBolt
Member

Откуда:
Сообщений: 23
leonix,

Была ерунда следующая: ms sql 2008 r2 - дефолтные настройки. win server 2008 r2.
Все это крутилось на виртуалке на физическом сервере. Оперативка на сервере выделялась динамически, до 8гб.
ms sql плавно съедал оперативку и не освобождал. Выделили 8гб статической оперативки и все стало нормально очищаться.

может у Вас подобная ерунда?
4 дек 14, 10:17    [16947684]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить