Сейчас на форуме: -Sanchez- (+8 невидимых)

 eXeL@B —› Основной форум —› Подвисание WriteFile в Windows 10
Посл.ответ Сообщение


Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

Создано: 01 июня 2020 12:23
· Личное сообщение · #1

Всем привет.
Может кто сталкивался с подобной проблемой.
При редактировании в хекс редакторах (hiew,FlexHEX и т.д.) огромных файлов, как пример 50-100ГБ, именно при записи данных в конец или ближе к концу файла,
редакторы подвисают, примерно на полторы две минуты..
После того как все же были внесены изменения в файл (после ожидания), при повторном открытии и редактирования в файла в его конце, сохранение изменений происходит моментально.
Интересно, что на Win 7 такого не наблюдается, только на Win 10 (что то там маздай накрутил опять :s3
Если кто сталкивался в этим или обращал на это внимание, подскажите плиз, в чем может быть затык?
Мое подозрение, что дело в ACL или DACL в которые вносит изменения WriteFile после записи в файл... но не уверен.
Заранее спасибо за конструктивные ответы.



Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 01 июня 2020 12:50
· Личное сообщение · #2

А почему профайл не посмотришь?
Сразу будет видно "кто виноват" и "что делать"




Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

Создано: 01 июня 2020 12:55 · Поправил: BlackCode
· Личное сообщение · #3

VOLKOFF
Смотрел, не видно.. явных изменений прав нет, или ты про что?
Все же думаю, что дело не в правах...
Может система кеширует файл перед записью (или дефрагментирует)?



Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 01 июня 2020 13:10 · Поправил: VOLKOFF
· Личное сообщение · #4

Я про профайлинг.
Если нету VTune, то можно и процмуном чекнуть (или другие альтернативы, вариантов масса).

Тут больше конкретики нужно, может дров виноват, может с кешированием проблемы, или "защитой".
Десятки нет под рукой, поэтому о "глобальности" явления не берусь судить.

| Сообщение посчитали полезным: BlackCode

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 01 июня 2020 13:36
· Личное сообщение · #5

BlackCode пишет:
редакторы подвисают, примерно на полторы две минуты..
После того как все же были внесены изменения в файл (после ожидания), при повторном открытии и редактирования в файла в его конце, сохранение изменений происходит моментально.
Интересно, что на Win 7 такого не наблюдается, только на Win 10 (

Ну дак это на 10ке телеметрия сливает сохраненные данные в облако микрософту, а на 7ке не сливает. Нет, серьезно.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 01 июня 2020 14:19
· Личное сообщение · #6

ELF_7719116 пишет:
10ке телеметрия сливает сохраненные данные в облако микрософту

Ну если так, тогда можно отключить через O&O ShutUp10 и проверить, помогло ли. Хотя очень сомнительно что телеметрия работает в реалтайме, вероятнее всего данные собираются и во время простоя уже летят вдаль (не утверждаю, не проверял)



Ранг: 56.2 (постоянный), 22thx
Активность: 0.030.08
Статус: Участник

Создано: 01 июня 2020 14:33
· Личное сообщение · #7

нашел файл 60ГБ, отредактировал конец в WinHex - сохранилось мгновенно. Вин 10 2004, телеметрию не отключал




Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

Создано: 01 июня 2020 15:23
· Личное сообщение · #8

Alf пишет:
нашел файл 60ГБ, отредактировал конец в WinHex - сохранилось мгновенно. Вин 10 2004, телеметрию не отключал

Будь добр, если не затруднительно.
fsutil file createnew C:\1.txt 53687095286
Вот пример создания тестового файла заданного размера. (50Гб)
Создай и попробуй записать данные в конец файла... на нем повиснет?



Ранг: 43.1 (посетитель), 20thx
Активность: 0.160.29
Статус: Участник

Создано: 01 июня 2020 17:50
· Личное сообщение · #9

BlackCode, винда 10, виснет. Во время зависа виндовый "Монитор ресурсов" показывает, что идет запись из хиева со скоростью 100 Мб/с, при этом работа с файловой системой (по крайней мере для этого диска) практически останавливается. Такое ощущение, что fsutil только резервирует место под файл, а как только в него записываются первые данные, то система забивает диск нулями.

| Сообщение посчитали полезным: BlackCode


Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

Создано: 01 июня 2020 19:52 · Поправил: BlackCode
· Личное сообщение · #10

user99
Вполне возможно. Скорее последовательность создания у fsutil CreateFile -> SetFilePointer -> SetEndOfFile
Походу просто резервируется место, а в процессе записи, начиная с нулевого офсета до смещения куда именно пишутся байты идет заполнение нулями..
Это, логически, очень возможная причина)
Спасибо!


 eXeL@B —› Основной форум —› Подвисание WriteFile в Windows 10
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати