У нас есть утечка памяти на многих файловых серверах 2008R1SP2. Тег невыгружаемой памяти «File» в poolmon.exe будет протекать до тех пор, пока общие папки не станут недоступны, а затем RDP отключится (и нам придется перезагрузиться через консоль). Иногда эта утечка составляет> 1,5 г / день.
Если что-то нужно удалить, мне нужно иметь довольно хорошее предчувствие, и нужно одобрить огромный CM. Единственным изменением с тех пор, как это началось, было добавление агента McAfee Agent 5.0.2.132, однако антивирус с McAfee никак не работал (это подготовка к миграции, которая еще не реализована). Я понимаю, что тег MFEm на экране poolmon - это McAfee, но он не занимает первое место в списке на большинстве серверов с утечками.
Кроме того, теги, восходящие к драйверу сетевого адаптера (iANS или BCM8), обычно попадают в первые 5–6 строк при сортировке невыгружаемых байтов. Мы еще не пробовали изолироваться от сети, но, возможно, это хорошая идея.
Следующим логическим шагом, который я понимаю, является запуск xperf / Windows Performance Toolkit, но для этого, похоже, требуется .NET 4.5, который мы не можем установить по ряду причин.
1) Кто-нибудь знает, где можно загрузить более старую версию xperf, которая является автономной, совместимой с 2008R1SP1 (даже только через CLI)?
2) Если предположить, что №1 недоступен (или, в лучшем случае, плохая идея), существует ли какая-либо другая утилита, которая может отслеживать и отслеживать теги пула аналогичным образом?
3) Есть ли у вас какие-нибудь предложения, чтобы указать мне правильное направление?
В итоге мы оплатили обращение в службу поддержки Microsoft. Инженеру удалось отследить утечку до агента McAfee. Установка следующих оперативных исправлений (для Microsoft) устранила утечку невыгружаемого пула без необходимости удаления агента McAfee на наших серверах 2008 SP2: KB2029048, KB2961072, KB3019168. Надеюсь, это поможет кому-то еще, у кого есть эта проблема.
Спасибо всем, кто нашел время, чтобы быть полезным.
РЕДАКТИРОВАТЬ: Если вам было интересно, мы не смогли отключить агент McAfee во время устранения неполадок по политическим причинам. Несколько ИТ-отделов в крупной компании с пересекающимися интересами и некоторыми тонкими эго. Теперь доказательства говорят сами за себя. ;-)
Возможно, это не прямой ответ, но, поскольку я видел ваш "метафайл" очень высоко, для этого есть частное исправление.
У вас возникают проблемы с производительностью в приложениях и службах, когда кеш системных файлов потребляет большую часть физической ОЗУ - https://support.microsoft.com/en-us/kb/976618
Объясняется там: http://blogs.technet.com/b/mspfe/archive/2012/12/06/lots-of-ram-but-no-available-memory.aspx
Большое количество мета-кеша + использование «файла» указывает на то, что программы выполняют много операций FileIO. Вы используете xperf для отслеживания причин использования. Установите WPT из Windows SDK (версия 8.1 также работает на Win7 / 2008R2, но не на более старом Server 2008) (вот Установщик MSI если вы не хотите устанавливать .Net Framework 4.5), откройте cmd.exe от имени администратора и запустите это:
xperf -on PROC_THREAD + LOADER + POOL -stackwalk PoolAlloc + PoolFree + PoolAllocSession + PoolFreeSession -BufferSize 2048 -MaxFile 2048 -FileMode Circular && timeout -1 && xperf -d C: \ poolusage.etl
захват 2-3 минуты использования пула растут. Откройте ETL с помощью WPA.exe (на 2-м ПК с установленным .NET 4.5), добавьте графики пула в панель анализа.
Расположите столбцы так, как вы видите их на картинке, загрузить символы внутри WPA.exe и разверните стек тега «File», который вы видели в poolmon.
Здесь File
тег используется locate32.exe который сканирует файловую систему для создания поискового индекса.