| 
 | 
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Есть служба на WCF. Служба диагностирует рабочие станции разными способами, используя System.Management (WMI и PowerShell) System.Diagnostics (Счетчики производительности) System.DirectoryServices (Чтение из Active Directory) System.IO; (Проверка наличия файлов) Microsoft.Win32.RegistryKey (Чтение реестра) Sysrem.Net (Сканирование портов) Всякие настройки служба получает из базы MS SQL. Так в эту базу и пишутся в нее логи. Пиковая нагрузка - 400 вызовов в секунду. Средняя - 50. Память течет со страшной силой. Сейчас за 5 часов занимаемая оперативная память выросла с 40 килобайт, до 900 килобайт. Как найти где течет? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 11:45 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2, COM (если используется) везде диспозишь? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 11:59 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  А если в консольном виде запустить, тоже течёт? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 12:00 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2Есть служба на WCF. Служба диагностирует рабочие станции разными способами, используя System.Management (WMI и PowerShell) System.Diagnostics (Счетчики производительности) System.DirectoryServices (Чтение из Active Directory) System.IO; (Проверка наличия файлов) Microsoft.Win32.RegistryKey (Чтение реестра) Sysrem.Net (Сканирование портов) Всякие настройки служба получает из базы MS SQL. Так в эту базу и пишутся в нее логи. Пиковая нагрузка - 400 вызовов в секунду. Средняя - 50. Память течет со страшной силой. Сейчас за 5 часов занимаемая оперативная память выросла с 40 килобайт, до 900 килобайт. Как найти где течет? Чаще всего память течет из-за не использования IDisposable объектов, поддерживающих этот интерфейс нативно. Это можно узнать либо через испектирование имплементации класса, либо использования конструкции using(). Но это в очень общих и грубых чертах. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 12:23 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2System.Management (WMI и PowerShell) System.Diagnostics (Счетчики производительности) System.DirectoryServices (Чтение из Active Directory) System.IO; (Проверка наличия файлов) Microsoft.Win32.RegistryKey (Чтение реестра) Sysrem.Net (Сканирование портов) Всякие настройки служба получает из базы MS SQL. Так в эту базу и пишутся в нее логи. Сходу, думаю в первыую очередь стОит проверить выделенное - так как объекты для работы с БД и файловой системой/сериализацией чаще всего дают 'течь'. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 12:24 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  vagnerCat2, COM (если используется) везде диспозишь? COM не использую SergMCMLXXXА если в консольном виде запустить, тоже течёт? Сейчас попробую AxeleronСходу, думаю в первыую очередь стОит проверить выделенное - так как объекты для работы с БД и файловой системой/сериализацией чаще всего дают 'течь'. все вызовы обернуты в using создания коннекта ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 12:52 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2все вызовы обернуты в using создания коннекта Не только коннекты надо оборачивать в using. EF или Sql команды используются? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 12:56 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2COM не использую Блажен кто верует... Возьмите какойнить профайлер... и посмотрите... кто память жрет... Cat2Есть служба на WCF. Служба диагностирует рабочие станции разными способами, используя Эм... это как? Я к тому, что интересная у вас архитектура... кто службу-то хостит? P.S.: гадать можно до бесконечности... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 13:15 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2Есть служба на WCF. Служба диагностирует рабочие станции разными способами, используя System.Management (WMI и PowerShell) System.Diagnostics (Счетчики производительности) System.DirectoryServices (Чтение из Active Directory) System.IO; (Проверка наличия файлов) Microsoft.Win32.RegistryKey (Чтение реестра) Sysrem.Net (Сканирование портов) Всякие настройки служба получает из базы MS SQL. Так в эту базу и пишутся в нее логи. Пиковая нагрузка - 400 вызовов в секунду. Средняя - 50. Память течет со страшной силой. Сейчас за 5 часов занимаемая оперативная память выросла с 40 килобайт, до 900 килобайт. Как найти где течет? Надо взять профайлер от redgate, у них 14 дней триала, и посмотреть кто и что жрет ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 13:27 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2Сейчас за 5 часов занимаемая оперативная память выросла с 40 килобайт, до 900 килобайт. Ну и чего? Где причина для паники и саботажа? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:02 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ЕвгенийВCat2Сейчас за 5 часов занимаемая оперативная память выросла с 40 килобайт, до 900 килобайт. Ну и чего? Где причина для паники и саботажа? Я ошибся. Речь не про килобайты, а про мегабайты ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:07 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ЕвгенийВCat2Сейчас за 5 часов занимаемая оперативная память выросла с 40 килобайт, до 900 килобайт. Ну и чего? Где причина для паники и саботажа?+1 Но если так хочется, то снимаете дамп с процесса и отлаживыайте память в Visual Studio Ultimate, или при помощи WinDbg, или ClrMD. Также можно попробовать приатачится к процессу при помощи той же студии, или CLR Profiler от Microsoft, или ANT Memory Profiler от Read Gate, или dotMemory от JetBrains, или .NET Memory Profiler от SciTech. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:13 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  AxeleronCat2все вызовы обернуты в using создания коннекта Не только коннекты надо оборачивать в using. EF или Sql команды используются? Команды тоже обернуты ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:14 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2ЕвгенийВпропущено... Ну и чего? Где причина для паники и саботажа? Я ошибся. Речь не про килобайты, а про мегабайты Для начала включите Performance Monitor на сервере и посмотрите динамику изменения расхода управляемой памяти. Если она продолжает постоянно расти, то утечка, а если тупо вышла на некий уровень, то ничего страшного, просто код насоздавал вот столько объектов. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:15 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  buserCat2COM не использую Блажен кто верует... Возьмите какойнить профайлер... и посмотрите... кто память жрет... Cat2Есть служба на WCF. Служба диагностирует рабочие станции разными способами, используя Эм... это как? Я к тому, что интересная у вас архитектура... кто службу-то хостит? P.S.: гадать можно до бесконечности... Пользователь с веб-страницы вызывает через AJAX вызывает веб-сервисы. Веб-сервисы по именованным каналам вызывают службу. Скуль, служба и IIS крутятся на одном сервере. Ни скуль, ни IIS больше положенного не жрут ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:18 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Cat2Axeleronпропущено... Не только коннекты надо оборачивать в using. EF или Sql команды используются? Команды тоже обернутыТолько пристальным взглядом на код искать не эффективно. Снимите дамп и проанализируйте. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:19 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANACat2пропущено... Я ошибся. Речь не про килобайты, а про мегабайты Для начала включите Performance Monitor на сервере и посмотрите динамику изменения расхода управляемой памяти. Если она продолжает постоянно расти, то утечка, а если тупо вышла на некий уровень, то ничего страшного, просто код насоздавал вот столько объектов. Ползет все время вверх, пока не забивает всю оперативку. Я просто не рискнул продолжать дальше смотреть когда файл подкачки расти начнет ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:21 | 
  
  
  
   | 
||
| 
 
Как найти где течет память? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Даже так:  https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=windbg wcf memory leak ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.12.2015, 14:33 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=19&msg=39128558&tid=1396814]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    12ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    40ms | 
get topic data:  | 
    9ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    48ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 13ms | 
| total: | 141ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.