15

Как декомпрессия NTFS работает в Windows? Согласно Microsoft, декомпрессия NTFS выполняется путем расширения файла, а затем его использования. Это звучит правильно, но мой вопрос в том, как этот процесс происходит технически.

Загружает ли Windows сжатый файл в память, расширяет его в памяти и читает из памяти? Или он загружает сжатый файл в память, расширяет его на диск или в память, записывает на диск и затем читает?

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

1 ответ1

19

Windows распаковывает файлы в память. Выполнение этого на диск полностью уничтожило бы любые улучшения скорости и вызвало бы много ненужной записи на диск. См. Конец этой статьи в блоге Microsoft о разреженных файлах NTFS и сжатии:

  1. NTFS определяет, к какому модулю сжатия осуществляется доступ.
  2. Весь выделенный диапазон блока сжатия считывается.
  3. Если блок не сжимается, мы переходим к шагу 5. В противном случае NTFS попытается зарезервировать (но не выделить) пространство, необходимое для записи распакованного CU обратно на диск. Если на диске недостаточно свободного места, приложение может получить ERROR_DISK_FULL во время чтения.
  4. CU будет распакован в памяти.
  5. Распакованный диапазон байтов будет отображен в кэш и возвращен запрашивающему приложению.
  6. ...

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

Если у вас быстрый SSD, вы, вероятно, не получите улучшения скорости от сжатия NTFS. Возможно, что время, которое ваш процессор тратит на распаковку данных, плюс время, которое ваш диск тратит на чтение сжатых данных, может быть больше времени, которое ваш SSD тратит на чтение несжатых данных. Это также зависит от размера файлов, с которыми вы работаете. Минимальный размер сжимаемого файла варьируется от 8 КБ до 64 КБ, в зависимости от размера вашего кластера. Любые файлы меньше этого размера не будут сжаты вообще, но будет добавлено небольшое количество бухгалтерии.

Если вы много пишете в сжатые файлы, вы можете увидеть много различий в скорости из-за используемого алгоритма сжатия (LZ).

Дополнительная информация: Как сжатие NTFS влияет на производительность?

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