|
|
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
У меня SQL 7.0 на W2K. При выполнении ХП куда-то пропадает память. Слежу за этим делом с помощью диспетчера задач. При выполнении возрастает раход памяти, а по окончании память не освобождается. И так при каждом выполнении. Освобождение происходит только при остановке сервера. Вроде и курсоры закрываю все, и временные таблицы дропаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2002, 15:22:33 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
А данные, которые в кэш засосало, пуржил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2002, 15:29:24 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Нет, а как это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2002, 15:38:00 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
А никак. Ибо для того их и засасывает, чтобы они там оставались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2002, 17:53:04 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
2Dankov А к чему тогда вопрос : "А данные, которые в кэш засосало, пуржил?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2002, 18:13:02 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
SQL Server так устроен! Он забирает столько памяти, сколько может. Чем больше, тем лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 10:04:01 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
А к чему тогда вопрос : "А данные, которые в кэш засосало, пуржил?" К тому, чтобы было предельно ясно куда девается память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 10:24:34 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, я уяснил, куда память девается. А проблема-то осталась - когда ХП выполнится раз 50 - 100, память кончается и сервак останавливается. Вот с этим как бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 14:35:24 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
А чего ХП то делает ? А то если там простой SELECT стоит, то согласитесь странно чего то, что она память кушает до такой степени, что сервак останавливается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 14:39:55 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Через Enterprise manager в свойствах SQL-сервера задается максимальный размер памяти, доступный SQL-серверу. желательно на 256-512Мб меньше полного объема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 14:40:48 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Можно ограничивать память под SQL, вот например буквально сегодня прочитал в книге Роберта Д. Шнайдера рекомендации о выделении памяти, правда о 6.5, но может Вам поможет. Он эту таблицу взял из документации MS Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Сам не проверял, так что за что купил, за то и продаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 14:49:53 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Спасибо. Пробую играться с памятью. Поставил фиксированный размер, но здорово упала производительность, так что результата ждать ещё долго. 2ASCRUS А в ХП не только Select, там ещё много циклов по курсорам, вызовы других ХП, в том числе Extended, работа с TempDB... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 15:17:42 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
>там ещё много циклов по курсорам, вызовы других ХП Помнится, я как то процедуру, с курсорами и вызывами sp переписал, и получил вместо 10 минут работы ~5-10 секунд. Может Вам тоже попробовать оптимизировать процедуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 15:22:18 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
>Может Вам тоже попробовать оптимизировать процедуру? Наверное придётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 15:27:40 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Фиксированный размер не ставь - не надо. Ставь диапазон: минимум = 32Мб, максимум = { Если на серваке нет ничего кроме SQL, тогда Если объем памяти сервака >512 - ставь на 256 меньше чем полный объем. иначе ставь половину памяти. конецесли; Иначе Если объем памяти сервака >1024 - ставь на 512 меньше чем полный объем. иначе ставь половину памяти. конецесли; конецесли; } Данные реальные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 16:07:18 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Есть уверенность, что проблема именно в памяти, а не в блокировках? Второе встречается в тысячу раз чаще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 16:37:44 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
>Есть уверенность, что проблема именно в памяти, а не в блокировках? Вряд ли в блокировках, у базы один клиент, выполняющий процедуру много раз. Я думаю, дело в том, что сервер не успевает освободить память после выполнения процедуры, а выполнение проедуры происходит в цикле. Возможно такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 17:02:07 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Возможно, но маловероятно. Стоит поисследовать. В системных и сиквельных журналах есть что-нибудь подозрительного? Места на дисках в избытке? Возможный рост tempdb и журнала транзакции не упирается в какое-нибудь ограничение (установленная квота, нехватка места на диске, ограничение размера файла до 4Gb на FAT32)? Растет ли @@TRANCOUNT с каждым запуском процы? Деаллокируются ли курсоры после использования? Растет ли кол-во блокировок с каждым запуском? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 17:23:15 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
Вроде всё в достатке, ничего не увеличивается...Кроме Memory usage :-(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 18:09:58 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
>А в ХП не только Select, там ещё много циклов по курсорам, вызовы других ХП, в том числе Extended, работа с TempDB... А Extended самописные? Может они выделяют память и не освобождают. Я ради интереса в свою процедуру добавил строчку char* pppp=new char[50000000]; после трез запусков он оттяпал 27Mb+166Mb(VM Size) и не собирается отдавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 18:48:57 |
|
||
|
Куда девается память?
|
|||
|---|---|---|---|
|
#18+
deallocate курсорам делать не забываем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 21:22:06 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32066530&tid=1818909]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 209ms |
| total: | 357ms |

| 0 / 0 |
