Ознаки
Припустімо, що у вас є застосунок або засіб, який працює під керуванням ОС Windows 7 або Windows Server 2008 R2, а також що програму або засіб виконує одну або кілька таких дій:
-
Контроль за допомогою протоколу ICMP "або" ping.exe інший сервер
-
Починаючи з багатьма процесами а також один тимчасовий, для виконання завдання і процес, потім зупинився
-
Виконання будь-яких активності в мережі і процес потім зупинився іншою програмою або сценарію
У цьому випадку після того, як сервер працює постійно кілька годин або кілька днів, ви помічаєте, що служба мережного інтерфейсу сховища (NSI) відбувається втрата пам'яті. Крім того, ви помітите, що такі проблеми:
-
Якщо зупинити Моніторингове ПЗ, не витік пам'яті.
-
Якщо зупинити програму а потім перезавантажте комп'ютер, не втрата пам'яті відбувається NSI служби.
-
У деяких випадках якщо ви вимкнення та ввімкнення мережного адаптера, ви помітити раптово скарбничка, ЦП служба NSI. Крім того, використання пам'яті безпосередньо походить drops від, 1 або 2 гігабайт (ГБ), 200 чи 300 мегабайтів (МБ).
Ця проблема може виникати в будь-який із таких сценаріїв.
Сценарій 1
Якщо програму ping.exe примусово зупинився, цілком можливо, взагалі не викликатиметься IcmpCloseHandle функції . У цьому випадку служба NSI може визначити, чи доступний клієнта. Таким чином, служба постійно надіслати сповіщення про будь-які ICMP-повідомлення. Через те, що клієнт не існує, список повідомлень продовжує збільшуватися. У списку отримати не очищено, поки NSI службу зупинено.
Щоб надіслати ping, потрібно відкривати дескриптор ICMP та скористатися цих функцій інші IP Helper для надсилання й отримання ICMP-даних:
Після застосування, надсилає ping, його потрібно зателефонувати до IcmpCloseHandle функція закрити дескриптор ICMP.
Сценарій 2
Розробника програмного забезпечення, створює застосунку для надсилання й отримання ICMP-повідомлення за допомогою IPHlelper інтерфейси. Якщо тільки один ICMP-маркер надсилаються ICMP-повідомлення для декількох клієнтів і якщо це так, що це робить на дуже високий рівень, IPHelper API, який буде сповіщено, коли повідомлення не можна зберегти на швидкість. У цьому випадку ви помітите, що пам'ять служба NSI продовжує збільшити експоненціально. Крім того, ви помітите значне завантаження процесора, служба NSI (nsisvc.dll).
Сценарій 3
У вас програми або служби, що або, використовує IP Helper функцій. Застосунок зупиняється або зупинився, і він не виходу ролі, коли кожного реєстрації, сповіщення не скасовано (CancelMibChangeNotify2). У цьому випадку NSI сервера, зберігає реєстрації, до процесу, який зупинено. Якщо застосунок зупинки випадки, служба NSI мають багато затяжних реєстрації. Для кожного реєстрації підтримує стані RPC-асинхронний та інші відомості. Це дозволяє створити для використання пам'яті. Зазвичай ці реєстрацій внесені до змін в інтерфейсі або одноадресний IP адреса змін. Якщо без змін у стані, ці реєстрацій підтримується.
Сповіщення про такі функції, які використовуються під час реєстрації:
Тому, що багато застосунків не викликів (CancelMibChangeNotify2) або зупинити процес обговорюється в розділі NotifyIpInterfaceChange функції мережа Microsoft для розробників веб-сайту.
Після того, як зареєструвати сповіщення про зміни називають NotifyIpInterfaceChange функції , ці сповіщення продовження, доки застосунок unregisters отримати змін сповіщення або перестане застосунку. Якщо застосунок зупиняється, система unregisters будь-які реєстрації сповіщення про зміни. Корпорація Майкрософт рекомендує, налаштувати застосунку явно скасувати реєстрацію сповіщення про зміни, поки його.
Для кожного реєстрації для повідомлення, внесення також виділити, розподілу пам'яті невивантажуваного пула (АЕС), для на вNSpc тег.
Причина
Ця проблема виникає в тому, що процес, що для повідомлення про вихід з без першого скасування реєстрації у службі NSI. Таким чином, витік реєстрації у NSI викликає втрата пам'яті в служба NSI. Крім того, на АЕС, відбувається втрата пам'яті в контексті тег NSpc імені NSI проксі-сервера (NSI.dll).
Спосіб вирішення
Відомості про виправлення
Виправлення доступне підтримки корпорації Майкрософт. Проте, це виправлення призначене тільки для вирішення проблеми, описаної в цій статті. Застосовуйте це виправлення лише до систем, які відчувають проблеми, описані в цій статті. Це виправлення може отримати додаткове тестування. Тому, якщо ця проблема не сильно впливає на вас, ми рекомендуємо почекати наступного оновлення програмного забезпечення, що містить це виправлення.
Якщо Виправлення доступне для завантаження, є розділ "Виправлення доступне для завантаження" на початку цієї статті бази знань. Якщо цей розділ не відображається, зверніться до служби підтримки клієнтів Microsoft, щоб отримати виправлення.
Примітка. Якщо виникають додаткові проблеми, або потрібно виявлення проблем, можливо, доведеться створити окремий запит на обслуговування. Звичайні кошти на технічну підтримку будуть застосовуватися для додаткових питань і проблем, які не пов'язані з цим виправленням. Для повного списку телефонів служби підтримки користувачів і технічної підтримки або для створення окремого запиту на обслуговування див. веб-сайт корпорації Майкрософт:
http://support.microsoft.com/contactus/?ws=support
Примітка. У формі "Виправлення доступне для завантаження" відображається список мов, для яких це виправлення доступне. Якщо потрібна мова не відображається, то виправлення недоступне для даної мови.
Попередні вимоги
Щоб застосувати це виправлення, потрібно з пакетом оновлень 1 для Windows 7 або Windows Server 2008 R2 інстальовано.
Необхідність перезавантаження
Після застосування цього виправлення комп'ютер необхідно перезавантажити.
Відомості про заміну виправлень
Це виправлення не замінює будь-які попередні випуски виправлень.
Відомості про файл
Англійська (США) версії цього виправлення на комп'ютері буде інстальовано файли з атрибутами, зазначеними в наведених нижче таблицях. Значення дати й часу для цих файлів наведено за всесвітнім координованим часом (UTC). Значення дати й часу на локальному комп’ютері відображаються відповідно до настройок місцевого часу й переходу на літній час. Крім того, ці значення можуть змінюватися після виконання певний операцій із файлами.
Windows 7 і Windows Server 2008 R2 відомості про файли та нотатки
Важливо! У пакетах містяться важливі виправлення як для Windows 7, так і для Windows Server 2008 R2. Проте на сторінці "Запит на виправлення" виправлення вказуються для двох операційних систем окремо. Щоб надіслати запит на отримання пакета виправлень для однієї чи обох операційних систем, виберіть виправлення, указане в розділі Windows 7/Windows Server 2008 R2. Завжди переглядайте розділ "Застосовується до", щоб визначити, до якої саме операційної системи застосовується виправлення.
-
Файли, які стосуються певного продукту, випуску (RTM, SP-n), і типу підтримки (LDR, GDR), можна визначити за властивістю номерами версій, указаними в наведеній нижче таблиці.
Версія
Продукт
SR_Level
Галузь технічної підтримки
6.1.760 0. 16 - xxx
Windows 7 та Windows Server 2008 R2
RTM
GDR
6.1.760 1. 22 - xxx
Windows 7 та Windows Server 2008 R2
SP1
LDR
-
GDR, містять лише загальнодоступні виправлення, яких є для вирішення поширених і критичних проблем. Випуски LDR містять додаткові виправлення.
-
Файли з розширеннями MANIFEST (. MANIFEST) і MUM (. MUM), які інсталюються в кожній системі зазначаються окремо в розділі "Додаткові файл відомості для Windows 7 і Windows Server 2008 R2".
-
Файли з РОЗШИРЕННЯМ і файли з розширеннями MANIFEST і на пов'язані файли каталогу безпеки (. cat), є надзвичайно важливі для відстеження стану оновлюваних компонентів. Файли каталогу безпеки, для яких не вказано атрибути, мають цифровий підпис Microsoft.
Для всіх підтримуваних версій ОС Windows 7 на базі x86-процесорів
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
Nsi.dll |
6.1.7600.16385 |
8,704 |
14-Jul-2009 |
01:16 |
x86 |
Nsiproxy.sys |
6.1.7600.16385 |
16,896 |
13-Jul-2009 |
23:12 |
x86 |
Nsisvc.dll |
6.1.7601.22590 |
20,480 |
05-Feb-2014 |
02:03 |
x86 |
Winnsi.dll |
6.1.7600.16385 |
16,896 |
14-Jul-2009 |
01:16 |
x86 |
Для всіх підтримуваних версій ОС Windows 7 і Windows Server 2008 R2 для систем на базі x64-процесорів
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
Nsi.dll |
6.1.7600.16385 |
13,824 |
14-Jul-2009 |
01:41 |
x64 |
Nsiproxy.sys |
6.1.7601.22590 |
24,576 |
05-Feb-2014 |
01:15 |
x64 |
Nsisvc.dll |
6.1.7601.22590 |
26,624 |
05-Feb-2014 |
02:42 |
x64 |
Winnsi.dll |
6.1.7600.16385 |
26,112 |
14-Jul-2009 |
01:41 |
x64 |
Nsi.dll |
6.1.7601.22590 |
8,704 |
05-Feb-2014 |
02:03 |
x86 |
Winnsi.dll |
6.1.7601.22590 |
16,896 |
05-Feb-2014 |
02:04 |
x86 |
Для всіх підтримуваних версій Windows Server 2008 R2 на базі IA-64-процесорів
Ім’я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
Nsi.dll |
6.1.7600.16385 |
18,944 |
14-Jul-2009 |
01:48 |
IA-64 |
Nsiproxy.sys |
6.1.7601.22590 |
53,760 |
05-Feb-2014 |
00:50 |
IA-64 |
Nsisvc.dll |
6.1.7601.22590 |
60,928 |
05-Feb-2014 |
01:48 |
IA-64 |
Winnsi.dll |
6.1.7600.16385 |
38,912 |
14-Jul-2009 |
01:50 |
IA-64 |
Nsi.dll |
6.1.7601.22590 |
8,704 |
05-Feb-2014 |
02:03 |
x86 |
Winnsi.dll |
6.1.7601.22590 |
16,896 |
05-Feb-2014 |
02:04 |
x86 |
Відомості про додаткові файли для ОС Windows 7 і Windows Server 2008 R2
Додаткові файли для всіх підтримуваних версій ОС Windows 7 x86
Ім’я файлу |
Package_1_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
1,822 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_2_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
1,805 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_3_for_kb2847346~31bf3856ad364e35~x86~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
1,807 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_for_kb2847346_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
1,459 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_for_kb2847346_sp1~31bf3856ad364e35~x86~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
1,918 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
X86_dfca12963d5c03edca970b29ad513eb4_31bf3856ad364e35_6.1.7601.22590_none_ff32d7aebbbb6891.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
699 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
X86_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749890603f18301d.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
8,301 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:38 |
Платформа |
Not Applicable |
Додаткові файли для всіх підтримуваних версій ОС Windows 7 і Windows Server 2008 R2 x64
Ім’я файлу |
Amd64_37e172e525713d1718cb98daea282913_31bf3856ad364e35_6.1.7601.22590_none_9888f3a0165278fe.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
1,048 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Amd64_3839818617f8250fd6f59e35da1df9bd_31bf3856ad364e35_6.1.7601.22590_none_8fbf427f98b0d1cb.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
703 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Amd64_a9af583825031567fe0548a9c2c728ab_31bf3856ad364e35_6.1.7601.22590_none_59ced916edddc9da.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
703 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Amd64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_d0b72be3f775a153.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
8,305 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:41 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_1_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
1,832 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_2_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
2,237 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_3_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
2,015 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_4_for_kb2847346~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
2,036 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_for_kb2847346_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
1,467 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_for_kb2847346_sp1~31bf3856ad364e35~amd64~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
2,830 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
4,690 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
02:16 |
Платформа |
Not Applicable |
Додаткові файли для всіх підтримуваних IA-64-процесорів версій ОС Windows Server 2008 R2
Ім’я файлу |
Ia64_44d491142723affea686ec2fba3cb4ac_31bf3856ad364e35_6.1.7601.22590_none_dc26e555dbabe437.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
1,046 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Ia64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_749a34563f163919.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
8,303 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_1_for_kb2847346~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
2,029 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Package_for_kb2847346_sp1~31bf3856ad364e35~ia64~~6.1.1.0.mum |
Версія файлу |
Not Applicable |
Розмір файлу |
1,446 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
06:35 |
Платформа |
Not Applicable |
Ім’я файлу |
Wow64_microsoft-windows-usermodensi_31bf3856ad364e35_6.1.7601.22590_none_db0bd6362bd6634e.manifest |
Версія файлу |
Not Applicable |
Розмір файлу |
4,690 |
Дата (UTC) |
05-Feb-2014 |
Час (UTC) |
02:16 |
Платформа |
Not Applicable |
Спосіб вирішення
Щоб тимчасово усунути цю проблему, використовуйте один із наведених нижче способів відповідно до ситуації.
Усунення проблеми, сценарій 1
Переконайтеся, що програми, такі як ping.exe, не примусово зупинено. Замість цього застосунку дає ролі завершення роботи.
Крім того, оновлення для Windows Server 2012. Цю проблему усунуто в ОС Windows Server 2012. Це виправлення не служба NSI витік пам'яті, незалежно від того, як програма зупиниться.
Усунення проблеми, сценарій 2
Розробника програмного забезпечення, необхідно створити кілька ICMP дескрипторами надсилання ICMP запитів. Якщо потрібно надіслати велику кількість ICMP-пакети, слід використовувати Raw розетки та безпосередньо надсилання й отримання ICMP-пакети на чистий сокет. Це дасть швидкий продуктивності.
Усунення проблеми, сценарій 3
У цьому випадку якщо ви вимкнення та ввімкнення мережного адаптера, використання пам'яті відразу зменшується, але має короткий скарбничка, ЦП.
Це відбувається, тому, що у разі виникнення змінення IP-адреси або інтерфейсу служба NSI сповіщати ядра. Служба NSI намагається notifiy клієнтів, які зареєстровано сповіщення. Якщо службу, намагається сповіщати клієнтський процес, який не існує, до RPC сповіщає про помилку. Таким чином, служба NSI буде видалено всю інформацію стану, збережений на цей процес для клієнта. Після того, як це відбувається, що пам'ять звільняється.
У цьому випадку кілька повідомлень з сотні тисяч зареєстровано. Після події звільнено всі пам'яті для клієнтів, ці неправильні.
Цю проблему усунуто в ОС Windows 8.