Windows использует оперативную память при копировании файлов?
Заметил, что иногда, при взаимодействии с файлами сразу после их копирования, взаимодействие проходит через чур быстро. Также, при копировании с быстрого диска на медленный (SSD->HDD), чтение файлов заканчивается раньше, чем их запись.
Верно ли я понимаю, что файловая система некоторое время хранит последние затронутые ей данные в невостребованной части RAM?
Копирование это чтение и запись содержимого файлов. Диски не умеют самостоятельно перебрасывать данные минуя оперативную память. Вполне естественно, что данные при этом с некоторой вероятностью остаются в файловом кэше. А вот на счёт невостребованности, тут всё не так просто, ведь данные из какого то файла могут оказаться нужнее памяти какого то приложения. При этом ядро может выбросить его в своп, а в памяти хранить кеш файлов. К сожалению ситуация когда ОС неправильно расставляет приоритеты вполне обыденная и десятки гигабайт памяти вовсе не панацея от этой проблемы.
Да, Windows кэширует дисковые операции и сохраняет это кэш пока он не потребуется для другой операции.
Чтение всегда заканчивается раньше записи, иначе записывать будет нечего.
Кэш дисковых операций это специально востребованный сегмент операционной памяти.
Кэширование на запись на HDD включено, скорее всего. Так-то без использования оперативной памяти не обойтись никак, но ОС стараются как можно быстрее завершить файловые операции, во избежание потери данных.
абсолютно не верный вывод. при включенном кешировании записи, большой памяти и относительно небольшом объеме копирования, операции записи кончались бы почти синхронно
Таки винда пытается считывать и записывать данные при копировании более-менее равномерно, кэшируя в памяти небольшие объемы данных. Но при включенном кэше на запись у накопителя при попытке скопировать на него большой объем данных с более быстрого накопителя может возникать коллизия, когда кэш накопителя переполняется, а винда продолжает набивать зоб.
Это, впрочем, не точно; если можешь опровергнуть - с интересом почитаю.
Ну а так да, автор действительно нигде не писал, что ситуация возникает при попытке копирования большого объема данных. Это проецирование собственного опыта на ситуацию, надо стараться избегать. *посыпает голову пеплом*
#, Ziptar, я действительно замечал это при копировании нескольких+ гигабайт данных, так как объёмы меньше 1Гб передаются почти мгновенно. При чём зачастую проводник Windows сначала показывает скорость копирования в 200-300 Мб/с, после чего скорость падает до ~50Мб/с.
А известно ли, почему Windows не хочет использовать свободную RAM на полную при копировании?
Допустим, по диспетчеру задач у меня свободно 15Гб RAM. Windows как-будто кэширует довольно маленький объём данных вперёд записи на HDD, и SSD может даже простаивать некоторое время. Использование RAM почти не изменяется.