Разное - Утечка памяти(?) при работе с сетевым окружением.

Аватара пользователя
PsyDuck

Разное - Утечка памяти(?) при работе с сетевым окружением.

Сообщение PsyDuck »

Дано: Windows 7, копируем с нее данные (обычно происходит на крупных файлах) на какой-нибудь компьютер по сети, т.е. через сетевое окружение.

Через какое-то время что наблюдается: все начинает дико тупить, в диспетчере задач видно что занято много оперативки, на закладке "Процессы" всё как обычно, ничего криминального, а вот на вкладке "Быстродействие" творится нечто, половина или больше памяти занята. Помогает только перезагрузка.
Вложения

[Расширение png было запрещено, вложение больше недоступно.]

Аватара пользователя
Valeant

Re: Разное - Утечка памяти(?) при работе с сетевым окружением.

Сообщение Valeant »

wsimons,

Ну хотябы используйте те встроенные средства которые есть в windows 7 для поиска причины.

Система спокойная



Копирование с ОС по сети на файл сервер



Копирование на ОС по P2P клиенту



С памятью все в порядке, но ведь на чистой системе то же стоят драйвера, и потом начните с того, что

"Память ядра" - Выгружаемая 1271МБ наверное многовато или при таких объемах так и должно быть?
Аватара пользователя
Valeant

Re: Разное - Утечка памяти(?) при работе с сетевым окружением.

Сообщение Valeant »

Это не серьезно про сетевую с

Цитата:

посылая процессору не 5000, а 500 000 прерываний в секунду

Не вдаваясь в работу сетевой карты и описания работы прерываний скажу только одно

10Мбит = 14800п/s, 100Mбит = 148000п/s только учтите что пакеты бываю и маленькие от 60байт до 1500байт (но работа идет в обе стороны - получил данные (проверка контрольных сумм) и подтверждение полученных данных), и есть буфер на сетевой карте (может до 1Mb) через который происходит работа с сетью, и если он будет заполнен, то приход любого следующего пакета затрет данные в буфере, что влечет за собой повтор передачи, поэтому существуют алгоритмы которые это контролируют протоколы и т.д. за всем этим следит ОС. Не говоря о приоритетах по прерываниям и по обслуживанию их диспетчером ОС, который может менять все это --- Описания работы ядра Windows Vista на данном сайте.

Та же забыл упомянуть про режим DMA в данном случае, что так же имеет место быть.

А теперь вопрос про память - причем тут сетевая при якобы расходе памяти?

wsimons,

дайте данные по загруженным программам, если нет сторонних системных программ, то хотя бы монитор ресурсов закладка память до процесса копирования по сети и после, и конечно хорошо бы посмотреть сколько памяти кто берет.
Аватара пользователя
dmitryst

Re: Разное - Утечка памяти(?) при работе с сетевым окружением.

Сообщение dmitryst »

в свойствах сетевой отключить flow control, receive side scaling, task offload. Проверить и отписаться, помогло или нет Изображение
Аватара пользователя
Vancouver

Re: Разное - Утечка памяти(?) при работе с сетевым окружением.

Сообщение Vancouver »

Valeant, Проблема в другом. И после копирования память занята, причем не просто занята, а полностью.

Мало того, лично на моей машине (и другой еще) оный эффект выявить не получилось, а вот у друга (по проблеме у которого и пишу) это постоянно.
Аватара пользователя
Valeant

Re: Разное - Утечка памяти(?) при работе с сетевым окружением.

Сообщение Valeant »

Цитата:



wsimons,

Через какое-то время что наблюдается: все начинает дико тупить, в диспетчере задач видно что занято много оперативки, на закладке "Процессы" всё как обычно, ничего криминального, а вот на вкладке "Быстродействие" творится нечто, половина или больше памяти занята.



Нечего удивительного тут нет, процесс копирования идет через память она быстрее чем сеть, раз она доступна то ее и будем задействовать и в добавок использовать наверное большой кэш LargeSystemCache=1, так же IoPageLockLimit - Сколько памяти (в килобайтах) может заблокировать система под операцию ввода-вывода и т.д.



В данном случае используется протокол SMB - это протокол для работы с файловой системой по сети, основанный на технологии клиент-сервер.




Цитата:



Mark Russinovich

Внутреннее устройство Vista SP1 – улучшения в части копирования файлов

...

Механизм копирования файлов в предыдущих версиях Windows

Механизм копирования файлов Windows нацелен на успешную работу в любых сценариях – настолько, насколько это вообще возможно, учитывая неизбежность компромиссных решений и нехватку значимой информации. До появления ОС Windows Vista механизм был тривиален. Исходный и конечный файлы открывались в режиме кэширования, затем исходный файл последовательно считывался фрагментами по 64 КБ (при создании сетевых копий вследствие ограничений по размеру блоков чтения, налагаемых протоколом SMB1.0, размер фрагмента уменьшался до 60 КБ), и эти фрагменты передавались в конечный файл. При доступе к файлу путем ввода-вывода с кэшированием (в отличие от ввода-вывода в режиме отображения в памяти и ввода-вывода без буферизации) данные, подлежащие чтению и записи, сохраняются в памяти как минимум до того момента, когда диспетчер памяти решит, что эта память нужна для других целей (в частности, для кэширования данных других файлов).

Асинхронное упреждающее чтение в ходе копирования производилось диспетчером кэша Windows. Пока исходный файл считывался в фоновом режиме, проводник записывал данные на другом диске или в удаленной системе. Посредством механизма записи с задержкой, реализованной диспетчером кэша, содержимое скопированного файла своевременно перемещалось из памяти на диск. Таким образом, при необходимости ресурсы памяти можно было направить на решение других задач, а в случае неисправности диска или сбоя системы ущерб от потери данных должен был быть минимальным.

...

Кроме того, механизм копирования инициирует четыре начальных блока ввода-вывода в размере от 128 КБ до 1 МБ (в зависимости от размера копируемого файла). После этого поток чтения с опережением диспетчера кэша начинает инициировать крупные операции ввода-вывода. Изменения, внесенные в платформу в ходе разработки пакета обновления 1 (SP1), касаются диспетчера кэша и позволяют ему обрабатывать более крупные операции ввода-вывода с помощью чтения с опережением и записи с задержкой. Укрупнение блоков ввода-вывода стало возможным лишь благодаря работе, проведенной при разработке первоначальной версии системы ввода-вывода ОС Windows Vista. Эта работа была направлена на поддержку блоков размером свыше 64 КБ и тем самым на снятие ограничения, характерного для предыдущих версий ОС Windows. Ввод-вывод большими блоками повышает производительность и при локальном копировании, так как сокращается частота обращений к диску и операций позиционирования головки. Кроме того, он помогает потоку записи с задержкой диспетчера кэша поспевать за скоростью заполнения памяти скопированными данными файлов. Это уменьшает, хотя и не исключает вероятность критической нехватки памяти, при которой активное содержимое памяти в ходе копирования уничтожается. Наконец, при удаленном копировании крупные блоки ввода-вывода позволяют драйверу SMB2 задействовать конвейерную обработку. Диспетчер кэша может инициировать блоки ввода-вывода на чтение, которые по размеру в два раза больше блоков, генерируемых приложениями – до 2 МБ в Windows Vista и до 16 МБ в Windows Server 2008. Блоки ввода-вывода на запись в Windows Vista могут достигать 1 МБ, а в Windows Server 2008 – 32 МБ.

...



К этому если еще добавить и нововведение в сетевом стеке - TCP Auto-Tuning и Compound TCP (CTCP), ECN Capability, RSS то действительно можно предположить несогласованности сетевых действий в передаче файлов с Windows 7 куда то например на windows xp.



Я бы посмотрел настройки сети.
Аватара пользователя
PsyDuck

Re: Разное - Утечка памяти(?) при работе с сетевым окружением.

Сообщение PsyDuck »

Valeant, Проблема в другом. И после копирования память занята, причем не просто занята, а полностью.

Мало того, лично на моей машине (и другой еще) оный эффект выявить не получилось, а вот у друга (по проблеме у которого и пишу) это постоянно.
Аватара пользователя
PsyDuck

Re: Разное - Утечка памяти(?) при работе с сетевым окружением.

Сообщение PsyDuck »

В общем попробовали все выше перечисленные способы, ничего не помоглоИзображение Сетевухи - Marvel, если что.
Ответить

Вернуться в «Microsoft Windows 7»