PDA

Показать полную графическую версию : Утечка памяти(?) при работе с сетевым окружением.


Страниц : [1] 2

PsyDuck
02-04-2010, 23:19
Дано: Windows 7, копируем с нее данные (обычно происходит на крупных файлах) на какой-нибудь компьютер по сети, т.е. через сетевое окружение.
Через какое-то время что наблюдается: все начинает дико тупить, в диспетчере задач видно что занято много оперативки, на закладке "Процессы" всё как обычно, ничего криминального, а вот на вкладке "Быстродействие" творится нечто, половина или больше памяти занята. Помогает только перезагрузка.

starl
03-04-2010, 12:00
а антивирь какой стоит?

PsyDuck
03-04-2010, 13:03
Изначально Avast, но проверяли и без него, и на полностью чистой (только что установленной) системе (без софта, драйверов).

dmitryst
08-04-2010, 01:44
в свойствах сетевой отключить flow control, receive side scaling, task offload. Проверить и отписаться, помогло или нет :)

Vancouver
08-04-2010, 06:24
Отключить и по тестировать

http://s60.radikal.ru/i169/1004/fd/d7dba90cc1e8t.jpg (http://radikal.ru/F/s60.radikal.ru/i169/1004/fd/d7dba90cc1e8.png.html)

Valeant
08-04-2010, 14:59
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
08-04-2010, 19:51
Valeant, Проблема в другом. И после копирования память занята, причем не просто занята, а полностью.
Мало того, лично на моей машине (и другой еще) оный эффект выявить не получилось, а вот у друга (по проблеме у которого и пишу) это постоянно.

PsyDuck
08-04-2010, 22:53
В общем попробовали все выше перечисленные способы, ничего не помогло:( Сетевухи - Marvel, если что.

Valeant
09-04-2010, 08:26
wsimons,
Windows 7, копируем с нее данные (обычно происходит на крупных файлах) на какой-нибудь компьютер по сети, т.е. через сетевое окружение.
Через какое-то время что наблюдается: все начинает дико тупить, в диспетчере задач видно что занято много оперативки, на закладке "Процессы" всё как обычно, ничего криминального, а вот на вкладке "Быстродействие" творится нечто, половина или больше памяти занята.

Данный скрин не говорит о том что у вас проблемы как вы говорите "Утечка памяти". По данной программе трудно судить о доступности или свободности памяти. Я думаю у вас проблема в другом. Вам нужно определится с загруженными приложениями до и после возникновения ошибки. Например такой параметр у вас на скрине "Память ядра" - Выгружаемая 1271МБ наверное многовато.

И еще используете ли вы торренты или менеджеры закачек или P2P клиенты (даже если они не используются но загружены).

PsyDuck
09-04-2010, 10:32
Судить сложно, но показывает в итоге что занято 90% памяти, при этом на машине все дико тупит, ничего не открывается.
Проверялось на чистой системе (без софта и драйверов) - тот-же исход.

Valeant
09-04-2010, 12:44
wsimons,
Ну хотябы используйте те встроенные средства которые есть в windows 7 для поиска причины.

Система спокойная
http://imagemoney.ru/allimage/0/0/3/6/2/36210-thumb.jpeg (http://imagemoney.ru/917/36210/)
Копирование с ОС по сети на файл сервер
http://imagemoney.ru/allimage/0/0/3/6/2/36211-thumb.jpeg (http://imagemoney.ru/917/36211/)
Копирование на ОС по P2P клиенту
http://imagemoney.ru/allimage/0/0/3/6/2/36212-thumb.jpeg (http://imagemoney.ru/917/36212/)

С памятью все в порядке, но ведь на чистой системе то же стоят драйвера, и потом начните с того, что
"Память ядра" - Выгружаемая 1271МБ наверное многовато или при таких объемах так и должно быть?

PsyDuck
09-04-2010, 13:46
На чистой ничего не ставим, вообще.
По поводу ядра и прочего, гляну сегодня как дома буду.
p.s. Скрины на каком-то стремном хостинге, полноэкранные картинки посмотреть нельзя, а если нажать "открыть" там сайт с вирусней:))

Vancouver
09-04-2010, 15:19
а если нажать "открыть" там сайт с вирусней) »
Нет этого, косвенный ответ на ваш вопрос. :)

PsyDuck
09-04-2010, 15:25
Это не ответ на мой вопрос. Проверил с нескольких машин, через раз при нажатии кнопки открывается или картинка в полный экран (как надо) или сайт с вирусней. Просто бесплатные гавнохостинги такие гавнохостинги.

Valeant
09-04-2010, 15:58
wsimons,
Это не ответ на мой вопрос. Проверил с нескольких машин, через раз при нажатии кнопки открывается или картинка в полный экран (как надо) или сайт с вирусней. Просто бесплатные гавнохостинги такие гавнохостинги.

Это вы конечно круто и немного далеки от понимания работы данных сайтов.
Спорить по поводу сайта не буду, тема не об этом, одно могу подтвердить их там нет.

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

PsyDuck
09-04-2010, 16:23
Такое ощущение, что вы не понимаете в чем суть моего вопроса. Вопрос-то и в системе как раз. Я и хочу это понять, что именно там не так.
И еще раз, для тех, кто не видит что я пишу - Компьютер не работает НОРМАЛЬНО, он в процессее и после копирования жудко тупит.
Причем сначала начинает копировать данные на удаленную машину вполне нормально, а через какое-то время (допустим перенесли 4гб из 10) начинается свистопляска.

Valeant
09-04-2010, 16:36
wsimons,
А как можно вас понять если
"Процессы" всё как обычно, ничего криминального, а вот на вкладке "Быстродействие" творится нечто, половина или больше памяти занята.
По данной вкладке вообще нечего не понять, кроме зеленых циферек 3,9Gb

Ну посмотрите в "мониторе ресурсов" хотя бы, за тем что происходит в ПК после запуска мин 10 не трогая, потом копируя маленький файл (500-1000Mb) что происходит, что из программ запущенно, если запустить кучу программ как поведет себя ПК, какая у вас windows (64bit). Для того чтоб "жутко тупить" процессору ему надо на что-то отвлекаться либо на 100% либо "зависнуть" при обслуживании драйверов или служб на долгое время.

Вопрос скорей всего не в системе, а в том что у вас стоит на ней из установленных вами ПО и драйверов, вы про это вообще молчите.

PsyDuck
09-04-2010, 16:42
Вот именно что все хорошо, но с какого-то занято 3.9гб:) А если бы мы подождали еще минут 10, уже было бы занято 5.5, а в итоге было бы занято 7 с чем-то, комп бы дико тупил, причем в диспетчере так-же ничего криминального, т.е. загруженность процессора 1% и тд и тп. Это вот меня и беспокоит более всего. ПО точно никакого, из драйверов только сетевые. Т.е. те, которые стоят - встали по дефолту после установки системы. Я понимаю, что чудес не бывает, но тем не менее что-то где-то не так, и в итоге имеется такой вот момент интересный. Хотя я с ним сталкиваюсь впервые, и на моей личной машине такого не происходит.

dmitryst
09-04-2010, 16:43
Вопрос скорей всего не в системе, »
ну почему же, процессор отвлекается и на обслуживание прерываний, которые (насколько мне известно) НЕ отображаются в диспетчере задач. Т.е. грузить процессор может и неисправная сетевая, посылая процессору не 5000, а 500 000 прерываний в секунду :). Я б сменил (временно) сетевую, на нормальную модель от интела или 3ком-а.

PsyDuck
09-04-2010, 16:47
Вот я тоже думаю порекомендовать ему поменять сетевушечку для начала. А то хрен знает, как там встроенная работает, да и может драйвер от марвелла хороший такой.




© OSzone.net 2001-2012