Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Куда девается память? / 22 сообщений из 22, страница 1 из 1
10.11.2002, 15:22:33
    #32066107
karafuto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
У меня SQL 7.0 на W2K.
При выполнении ХП куда-то пропадает память.
Слежу за этим делом с помощью диспетчера задач.
При выполнении возрастает раход памяти, а по окончании
память не освобождается. И так при каждом выполнении.
Освобождение происходит только при остановке сервера.
Вроде и курсоры закрываю все, и временные таблицы дропаю...
...
Рейтинг: 0 / 0
10.11.2002, 15:29:24
    #32066113
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
А данные, которые в кэш засосало, пуржил?
...
Рейтинг: 0 / 0
10.11.2002, 15:38:00
    #32066117
karafuto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
Нет, а как это?
...
Рейтинг: 0 / 0
10.11.2002, 17:53:04
    #32066190
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
А никак. Ибо для того их и засасывает, чтобы они там оставались.
...
Рейтинг: 0 / 0
10.11.2002, 18:13:02
    #32066198
karafuto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
2Dankov

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


К тому, чтобы было предельно ясно куда девается память.
...
Рейтинг: 0 / 0
11.11.2002, 14:35:24
    #32066495
karafuto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
Спасибо всем, я уяснил, куда память девается.
А проблема-то осталась - когда ХП выполнится раз 50 - 100, память кончается и сервак останавливается.
Вот с этим как бороться?
...
Рейтинг: 0 / 0
11.11.2002, 14:39:55
    #32066500
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
А чего ХП то делает ? А то если там простой SELECT стоит, то согласитесь странно чего то, что она память кушает до такой степени, что сервак останавливается.
...
Рейтинг: 0 / 0
11.11.2002, 14:40:48
    #32066501
StarKite
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
Через Enterprise manager в свойствах SQL-сервера задается максимальный размер памяти, доступный SQL-серверу. желательно на 256-512Мб меньше полного объема.
...
Рейтинг: 0 / 0
11.11.2002, 14:49:53
    #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
11.11.2002, 15:17:42
    #32066530
karafuto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда девается память?
Спасибо.
Пробую играться с памятью. Поставил фиксированный размер, но здорово упала производительность, так что результата ждать ещё долго.

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

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

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

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

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


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