2

Предполагая, что передача файла завершена, сколько времени займет, пока Windows не очистит кэш записи?

Например, я запускаю резервную копию на жестком диске (с включенным кэшированием записи). После завершения резервного копирования я выключаю диск. Кэш записи сбрасывается сразу после завершения дискового ввода-вывода или период ожидания?

2 ответа2

3

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

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

1

Microsoft рекомендует не отключать очистку буфера записи-кэша, если подключенное устройство не имеет собственного источника питания, чтобы предотвратить потерю в случае сбоя питания. Это прямо из вкладки Свойства диска / Политики (см. Изображение ниже).

очистка буфера в кеше записи

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

Если вы теряете мощность во время вызова FlushFileBuffers, вы можете получить только частичную запись, так как полная запись не выполняется до полной очистки буфера. Существует хранилище индексов, которое указывает, где на самом деле находятся данные. Этот индексный магазин написан первым.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .