Re[7]: SQL Server дает сильные утечки памяти.
От: DrDred Россия  
Дата: 25.09.03 13:06
Оценка:
Здравствуйте, John Scherbatov, Вы писали:

JS>Интересные результаты...

JS>Скажите , а в QA у вас есть утечка?

Иногда есть, иногда раза три-четыре выполнял этот запрос, и никакого увеличения не происходило.
А вообще объем занимаемой памяти растет по чуть-чуть, при любых запросах... Но еще не было такого, чтобы сервер свалился от того, что ему не хватило RAM и он ушел в своп...

Скажите, а нет возможности отрубать постоянные коннекты на некоторое время? возможно они держат на себе большое количество ресурсов?
... << RSDN@Home 1.1 beta 1 >>
--
WBR, Alexander
Re: SQL Server дает сильные утечки памяти.
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.09.03 14:52
Оценка:
Здравствуйте, John Scherbatov, Вы писали:

Я слегка поменял текст второго скрипта:
declare @i integer
set @i=0
while (@i<10000)
begin
  SELECT DISTINCT 
    MAP.DB_ID 
  FROM 
    OUT_REPLICA_PROPERTY AS PROPERTY, 
    OUT_REPLICA_DB_MAP AS MAP, 
    OUT_REPLICA_LOG AS LOG 
  WHERE 
    PROPERTY.REPLICA_GUID = MAP.REPLICA_GUID 
     AND 
    LOG.REPLICA_GUID = MAP.REPLICA_GUID 
     AND 
    PROPERTY.REPLICA_TYPE = 0 
     AND 
    (MAP.FILL_STATUS IS NULL OR MAP.FILL_STATUS = 0) 
     AND 
    MAP.DB_ID in (2) 
     AND 
    LOG.IID < ( SELECT MIN (IID) FROM OUT_REPLICA_LOG WHERE REPLICA_GUID = '3FD1F219-7B00-4E79-86A1-8B6F783C610B')
  set @i=@i+1
end

Как видите, данный селект исполняется 10000 раз.
При этом утечек памяти вообще нет. Занимаемая память колеблется вокруг 16700K (обе колонки Mem Usage и VM Size).


Product: SQL Server Developer Edition
OS: MS Win NT 5.1 (2600)
Product Version: 8.00.194(RTM)
OS Memory: 512 MB
Processor: 1

Конфигурация памяти — динмаическая, от 0 до 511
Max Worker Threads = 255
Boost Priority — off
NT Fibers — off

... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: SQL Server дает сильные утечки памяти.
От: _d_m_  
Дата: 25.09.03 21:56
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, John Scherbatov, Вы писали:


JS>>Хорошо.. он может съедать память под кэш. Но как объяснить тогда описываемую мной ситуацию, что я ставлю ему ограничение в 50 М. Один запрос (на пустые таблицы!!!!!) съедает 40К и как только СКЛ доходит до заветных 50 М — он выдает сообщение, что все память кончилась ...?? И ещё.. эта ситуация наблюдается только с приведенным мной запросом — во всех остальных случаях все работает "по честному".

M>Надо посмотреть на блокировки и на наличие незафиксированных транзакций.

А опция "imlicit transactions" как стоит?
Re: SQL Server дает сильные утечки памяти.
От: Митрошин Александр Россия  
Дата: 26.09.03 06:47
Оценка:
Здравствуйте, John Scherbatov, Вы писали:

А через Performance не пробовал глянуть? Ну там число соединений, сессий и так далее, мне в таких слуях эти счетчики сильно помогали для отслеживания утечек.
Re: SQL Server дает сильные утечки памяти.
От: toypaul Удмуртия http://www.1csql.ru
Дата: 27.09.03 17:34
Оценка:
JS>Есть СКЛ Сервер 2000 (или МСДЕ 2000 результат один и тот же).
JS>Параметры:
JS>Microsoft SQL Server 2000 — 8.00.384 (Intel X86) May 23 2001 00:02:52 Copyright (c) 1988-2000 Microsoft Corporation Desktop Engine on Windows NT 5.0 (Build 2195: Service Pack 3)

Смущает что установлен всего лишь Service Pack 1. Например, в багах до 2 СП значится утечка памяти при быстром коннекте/диссконнекте. Зачему также что у товарища вообще без СП (8.00.194) вроде как работает. Рекомендую поставить 3 СП и проверить.
Re[2]: SQL Server дает сильные утечки памяти.
От: LG Россия  
Дата: 30.09.03 12:07
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, John Scherbatov, Вы писали:


S>Я слегка поменял текст второго скрипта:

S>
S>declare @i integer
S>set @i=0
S>while (@i<10000)
S>begin
S>    LOG.IID < ( SELECT MIN (IID) FROM OUT_REPLICA_LOG WHERE REPLICA_GUID = '3FD1F219-7B00-4E79-86A1-8B6F783C610B')
S>  set @i=@i+1
S>end
S>

S>Как видите, данный селект исполняется 10000 раз.
S>При этом утечек памяти вообще нет. Занимаемая память колеблется вокруг 16700K (обе колонки Mem Usage и VM Size).

2 Sinclair

И ещё такой момент. В селекте указан ГУИД '3FD1F219-7B00-4E79-86A1-8B6F783C610B'. От запроса к запросу его нужно менять (например первую цифру), т.е. чтобы выборка не повторялась. Тогда память начнет течь

Без всяких там прикольных подписей.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.