powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Куда девается память?
22 сообщений из 22, страница 1 из 1
Куда девается память?
    #32066107
karafuto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня SQL 7.0 на W2K.
При выполнении ХП куда-то пропадает память.
Слежу за этим делом с помощью диспетчера задач.
При выполнении возрастает раход памяти, а по окончании
память не освобождается. И так при каждом выполнении.
Освобождение происходит только при остановке сервера.
Вроде и курсоры закрываю все, и временные таблицы дропаю...
...
Рейтинг: 0 / 0
Куда девается память?
    #32066113
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А данные, которые в кэш засосало, пуржил?
...
Рейтинг: 0 / 0
Куда девается память?
    #32066117
karafuto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, а как это?
...
Рейтинг: 0 / 0
Куда девается память?
    #32066190
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А никак. Ибо для того их и засасывает, чтобы они там оставались.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066198
karafuto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Dankov

А к чему тогда вопрос :
"А данные, которые в кэш засосало, пуржил?"
...
Рейтинг: 0 / 0
Куда девается память?
    #32066316
Александр Азаркович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Server так устроен!
Он забирает столько памяти, сколько может. Чем больше, тем лучше.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066330
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А к чему тогда вопрос :
"А данные, которые в кэш засосало, пуржил?"


К тому, чтобы было предельно ясно куда девается память.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066495
karafuto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем, я уяснил, куда память девается.
А проблема-то осталась - когда ХП выполнится раз 50 - 100, память кончается и сервак останавливается.
Вот с этим как бороться?
...
Рейтинг: 0 / 0
Куда девается память?
    #32066500
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего ХП то делает ? А то если там простой SELECT стоит, то согласитесь странно чего то, что она память кушает до такой степени, что сервак останавливается.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066501
StarKite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через Enterprise manager в свойствах SQL-сервера задается максимальный размер памяти, доступный SQL-серверу. желательно на 256-512Мб меньше полного объема.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066513
fima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ограничивать память под SQL, вот например буквально сегодня прочитал в книге Роберта Д. Шнайдера рекомендации о выделении памяти, правда о 6.5, но может Вам поможет. Он эту таблицу взял из документации MS
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Доступная память	Память для SQL Server
 16 			 4 
 24 			 8 
 32 			 16 
 48 			 28 
 64 			 40 
 128 			 100 
 256 			 216 
 512 			 464 

Сам не проверял, так что за что купил, за то и продаю
...
Рейтинг: 0 / 0
Куда девается память?
    #32066530
karafuto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
Пробую играться с памятью. Поставил фиксированный размер, но здорово упала производительность, так что результата ждать ещё долго.

2ASCRUS
А в ХП не только Select, там ещё много циклов по курсорам, вызовы других ХП, в том числе Extended,
работа с TempDB...
...
Рейтинг: 0 / 0
Куда девается память?
    #32066537
fima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>там ещё много циклов по курсорам, вызовы других ХП
Помнится, я как то процедуру, с курсорами и вызывами sp переписал, и получил вместо 10 минут работы ~5-10 секунд. Может Вам тоже попробовать оптимизировать процедуру?
...
Рейтинг: 0 / 0
Куда девается память?
    #32066540
karafuto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Может Вам тоже попробовать оптимизировать процедуру?

Наверное придётся.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066555
StarKite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фиксированный размер не ставь - не надо.
Ставь диапазон:
минимум = 32Мб,
максимум =
{
Если на серваке нет ничего кроме SQL, тогда
Если объем памяти сервака >512 -
ставь на 256 меньше чем полный объем.
иначе
ставь половину памяти.
конецесли;
Иначе
Если объем памяти сервака >1024 -
ставь на 512 меньше чем полный объем.
иначе
ставь половину памяти.
конецесли;
конецесли;
}

Данные реальные.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066584
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть уверенность, что проблема именно в памяти, а не в блокировках? Второе встречается в тысячу раз чаще.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066596
karafuto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Есть уверенность, что проблема именно в памяти, а не в блокировках?

Вряд ли в блокировках, у базы один клиент, выполняющий процедуру много раз.
Я думаю, дело в том, что сервер не успевает освободить память после выполнения процедуры, а выполнение проедуры происходит в цикле. Возможно такое?
...
Рейтинг: 0 / 0
Куда девается память?
    #32066603
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, но маловероятно. Стоит поисследовать. В системных и сиквельных журналах есть что-нибудь подозрительного? Места на дисках в избытке? Возможный рост tempdb и журнала транзакции не упирается в какое-нибудь ограничение (установленная квота, нехватка места на диске, ограничение размера файла до 4Gb на FAT32)? Растет ли @@TRANCOUNT с каждым запуском процы? Деаллокируются ли курсоры после использования? Растет ли кол-во блокировок с каждым запуском?
...
Рейтинг: 0 / 0
Куда девается память?
    #32066634
karafuto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде всё в достатке, ничего не увеличивается...Кроме Memory usage :-((
...
Рейтинг: 0 / 0
Куда девается память?
    #32066648
>А в ХП не только Select, там ещё много циклов по курсорам, вызовы других ХП, в том числе Extended,
работа с TempDB...

А Extended самописные? Может они выделяют память и не освобождают. Я ради интереса в свою процедуру добавил строчку
char* pppp=new char[50000000];
после трез запусков он оттяпал 27Mb+166Mb(VM Size) и не собирается отдавать.
...
Рейтинг: 0 / 0
Куда девается память?
    #32066680
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deallocate курсорам делать не забываем?
...
Рейтинг: 0 / 0
Куда девается память?
    #32066703
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее локальные курсоры сами освобождаются при выходе из ХП. А вот насчет Extended Proc в первую очередь надо покопать, уж где память может утекать, так это там.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Куда девается память?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]