Изучение утечки памяти в svchost / nsi с данными
svchost
и, nsi
в частности, постоянно были связаны с утечками памяти на протяжении многих лет, когда поиски в Google приводили к большому количеству обращений (но мало решений). Связанные вопросы с соответствующими ответами задавались много раз на суперпользователе в прошлом, но все, что я видел, было людьми, спрашивающими, как определить, какой процесс содержит утечку, которая не очень помогает, если я уже знаю это.
Я открываю этот вопрос, потому что проблема, кажется, сохраняется, несмотря на заявления о том, что это решение было исправлено тем или иным способом, а также сообщать о результатах моего собственного расследования, если это будет полезно, и посмотреть, как еще я смогу разобраться в проблеме.
Единственное, что можно было предположить для решения проблемы, - это применение базы знаний 2950358 (извините, я не могу ссылаться из-за отсутствия репутации), но установщик просто говорит, что это обновление не применимо к этой системе.
Машина, ОС и программное обеспечение: Win7 Pro x64, 8 ГБ памяти с видео nVidia GTX 580 (драйверы от nVidia, 372.54 от 15 августа, то есть 15 дней назад на момент написания этой статьи). Процессы, которые почти всегда работают, включают Spotify, Chrome (в настоящее время v52.0.2743.116), Skype (в настоящее время 7.26.0.101) плюс несколько Cygwin mintty
, bash
а также ssh
процессы. Internet Explorer не установлен (за исключением битов, которые нельзя удалить). Обычные надстройки для браузера, такие как flash для yt и т. Д. Ничего необычного, хотя некоторые из них интенсивно используют сети и могут, теоретически, быть причастны, если верить подобным KB 2847346. Все обновления Windows, включая последнее необязательное обновление, были применены.
Пропустив некоторые промежуточные шаги, я разделил nsi
его на отдельные svchost
, перезагрузил и затем регистрировал выходные данные tasklist
, каждую секунду, для PID nsi
процесса и svchost
к которому он nsi
раньше принадлежал. Результаты представлены здесь ; Конечно, последний в основном плоский, но nsi
растет с постоянной скоростью (если не увеличивается).
В то же время я procmon
записывал вызовы sys nsi
, но все события, кроме 6, были событиями «Создание потоков» и «Выход из потоков», что не очень полезно. Все, что вызывает проблему, не заставляет nsi
делать системные вызовы самостоятельно.
До того, как я разделился nsi
, я проводил аналогичную трассировку в течение почти четырех дней, и этот svchost
экземпляр начинался с 24 МБ и непрерывно рос до примерно 2150 МБ до того, как я его остановил, причем скорость изменения, очевидно, со временем возрастала. В прошлом я видел svchost
процесс нарушения порядка 6 ГБ, но во время procmon
работы я начал исчерпывать память. Пару раз какая-то память освобождалась, но не так сильно, как было выделено. Я могу связать этот график позже, если кто-нибудь захочет его увидеть.
Я также отслеживал это с помощью procmon
и могу дать разбивку по событиям, но они, вероятно, не очень интересны, учитывая, что установлено, nsi
что это вина, и что ни одно из его событий не особенно интересно.
Есть ли какой - либо инструмент для отслеживания, какие процессы делают запросы о конкретной услуге?
Каков мой следующий шаг, учитывая, что исправление, очевидно, релевантное KB не применимо?
0 ответов на вопрос
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
4
Как заблокировать выровненные по правому краю панели инструментов в Windows 7, чтобы они не выглядел...
-
4
Функция Windows 7 «Aero Snap» в Ubuntu GNOME
-
-
3
Мой второй жесткий диск не виден в Windows 7
-
7
Как заменить Блокнот в Windows 7?
-
2
Как расположить значки панели задач Windows 7 в 2 ряда?
-
1
Проблемы во время сна на Windows 7
-
6
Как управлять функцией привязки Windows 7 с помощью двух мониторов?
-
10
Как мне обновить Windows 7 RC до Windows 7 RTM?
-
3
Какая защита от шпионского ПО доступна для Windows 7?