Диагностика утечки памяти тега "Файл" в файле poolmon.exe на 2008R1SP2

У нас утечка памяти, от которой страдают многие наши файловые серверы 2008R1SP2. Не выгружаемый тег памяти "File" в файле poolmon.exe будет просачиваться до тех пор, пока общие папки больше не будут доступны, а затем RDP отключится (и нам придется перезагрузиться через консоль). Иногда эта утечка составляет>1,5 г / день.

Если что-то должно быть удалено, мне нужно иметь довольно хорошее предчувствие, и огромный CM должен быть одобрен. Единственным изменением с тех пор, как это началось, было добавление McAfee Agent 5.0.2.132, однако AV с McAfee никак не работал (он готовится к миграции, которая еще не реализована). Я понимаю, что тег MFEm на экране poolmon - это McAfee, но его нет в списке большинства утечек на серверах.

Кроме того, теги, отслеживаемые до драйвера NIC (iANS или BCM8), обычно представлены в топ-5-6 в сортировке байтов без постраничной передачи. Мы еще не пробовали изолировать от сети, но, возможно, это хорошая идея.

Следующий логический шаг, который я понимаю, это запуск xperf / Windows Performance Toolkit, но для этого требуется.NET 4.5, который мы не можем установить по ряду причин.

1) Кто-нибудь знает где-нибудь загрузить старую версию xperf, которая является автономной, совместимой с 2008R1SP1 (даже только CLI)?

2) Предполагая, что № 1 недоступен (или, в лучшем случае, паршивая идея), есть ли какая-либо другая утилита, которая может отслеживать и отслеживать теги пула подобным образом?

3) Есть ли у вас какие-либо предложения, чтобы указать мне в правильном направлении?

3 ответа

Решение

Мы заплатили за поддержку в Microsoft. Инженер смог отследить утечку до агента McAfee. Установка следующих оперативных исправлений (для Microsoft) позволила устранить утечку из невыгружаемого пула без необходимости удаления агента McAfee на наших серверах SP2 2008: 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

Высокое использование Meta cache + "File" означает, что программы выполняют много операций с 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 Циркулярный && время ожидания -1 && xperf -d C:\poolusage.etl

захватить 2-3 минуты использования бассейна растут. Откройте ETL с WPA.exe (на втором компьютере, на котором установлена ​​.net 4.5), добавьте графики пула на панель анализа.

Расположите столбцы так, как вы видите их на рисунке, загрузите символы внутри WPA.exe и разверните стек тега "Файл", который вы видели в poolmon.

Здесь File Этот тег используется программой locate32.exe, которая сканирует файловую систему для создания поискового индекса.

Другие вопросы по тегам