Потрібна допомога щодо відстеження витоку пам'яті lsass.exe


4

Я намагаюся відстежувати витік пам'яті lsass.exe, дотримуючись вказівок з Article1 та Article2 , серед інших. Я отримав налаштування gflags для lsass.exe, перезавантажив і виявив, що у нього процес ID 804. Тепер я запускаю командний рядок:

umdh -p: 804 -f: mylog.txt

Це негайно виправляє помилку:

Помилка: не вдалося перерахувати модулі процесу.

І файл журналу не має нічого корисного:

// 
// UMDH: version 6.2.9200.16384: Logtime 2013-05-16 14:49 - Machine=SHAUL-WORK-LT - > PID=804
// 
// Debug privilege has been enabled.
// OS version 6.1 Service Pack 1
// Umdh OS version 6.2
// 
// Preparing to dump heap allocations.
// Only allocations for which the heap manager collected a stack are dumped. Allocations whithout stack are ignored.
// The stack trace for an allocation is dumped as a list of addresses. They will be resolved to function names at compare time.
// 
// Connecting to process 804 ...
// Process 804 opened handle=48.

Куди я їхати звідси?


чи працює ваш командний рядок із підвищеними привілеями?
Френк Томас

@FrankThomas - не має різниці, підвищений чи ні.
Шауль Бер

Відповіді:


2

Інструменти низького рівня, такі як UDMH, як правило, тісно поєднуються з ОС. Здається, що ваш UDMH походить з іншої ОС:

// OS version 6.1 Service Pack 1     <<<< 6.1 = Windows 7
// Umdh OS version 6.2               <<<< 6.2 = Windows 8

Спробуйте отримати UDMH, який відповідає вашому Windows 7 (6.1.7600).


2

Наскільки я бачу, lsass.exe в Windows 7 не протікає пам'ять.

Стаття, яку ви цитуєте, стосується Windows Server 2003 / Vista, де lsass.exe і csrss.exe просочились пам’яттю, як божевільна, і дістали доступ до диска безперервно, тому були одні з основних причин того, що Vista стала таким збоєм (або меншим успіхом) ніж Windows 7). Ці помилки були виправлені в Windows 7 (але ніколи у Vista - не запитуйте мене чому).

Якщо ваша версія lsass.exe не пропускає пам'ять у великих масштабах, я би перевірив ваш комп'ютер кількома відомими антивірусними продуктами, а також запустив sfc / scannow .

Що стосується umdh (навіть якщо налагодження lsass.exe і насправді не потрібне), переконайтеся, що ви встановили останню версію SDK для Windows та засоби налагодження для Windows .

Якщо umdh досі не працює з цією останньою версією (або як це зауважив @Jonathan з версією Windows 7), і якщо ви запускаєте її в командному рядку (cmd), який є "Запустити як адміністратор" (потрібно навіть якщо ви є адміністратором), то Microsoft, можливо, заблокувала свою здатність відстежувати важливі для системи процеси, такі як lsass.

Останньою спробою може бути використання іншого привілейованого облікового запису користувача за допомогою DevxExec ( завантажити ):

devxexec.exe /user:TrustedInstaller "umdh -p:804 -f:mylog.txt"

У мене все ще є витік пам'яті, але щедрість закінчується, і виходячи з того, що ви дали найкориснішу інформацію з усіх інших відповідей, я дам вам щедрість. :)
Шауль Бер

1

Якби я був ти, я робив би таке:

Завантажте провідник процесів звідси http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx

Відкрийте його та клацніть правою кнопкою миші на lsass.exe та перейдіть до властивостей. Перейдіть на вкладку "Нитки" і перевірте, чи є потоки з постійним використанням процесора, перейдіть на вкладку "Сервіс" і перевірте, чи є сервіси, які ви не розпізнаєте, або будь-які сторонні послуги, не пов'язані з Windows, використовуючи lsass, і зупиніть їх. Сподіваємось, це призведе вас до напрямку проблеми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.