Categories: Windows 10

LZX сжатие файлов на уровне NTFS в Windows 10

Еще одной довольно интересной и перспективной, но почему-то слабо афишированной, возможностью Windows 10, является поддержка алгоритма сжатия данных LZX на уровне файловой системы NTFS . По сравнению с уже знакомым нам NTFS сжатием , степень сжатия LZX в Windows 10 гораздо выше (уровень сжатия практически на уровне zip). Достигается степень сжатия в среднем 40-60% .

Сжатие файлов с помощью алгоритма LZX в Widnows 10 выполняется только вручную с помощью уже знакомой нам утилиты compact (мы рассматривали ее в статье о Compact OS ). При обращении к сжатым файлам их распаковка в памяти происходит полностью прозрачно для пользователя.

Недостатки использования LZX сжатия:

  • Сжатие выполняется вручную, и при перезаписи/обновлении/изменении сжатого файла, компрессию нужно выполнять заново. Таким образом, этот вид сжатия нецелесообразен для постоянно изменяемых файлов и временных папок.
  • На распаковку сжатых файлов в памяти расходуются дополнительные ресурсы CPU и памяти. Это, в общем-то, не критично для современных многоядерных процессоров.
  • Сжатые файлы никак не выделяются в проводнике (файлы, сжатые стандартной NTFS компрессией выделяются синим цветом)
Важно . Файлы, сжатые в Windows 10 с помощью алгоритма LZX нельзя открыть в предыдущих версиях Windows.

Идеальными кандидатами для сжатия по алгоритму LZX являются статические файлы, к которым обращаются только на чтение/запуск. Под эти критерии обычно попадают каталоги с установленными программами, играми, хранилища дистрибутивов, ряд системных каталогов.

К примеру, при сжатии каталога с установленной игрой Far Cry 4 размер каталога уменьшился с 27 до 17 Гб. Для Counter-Strike: GO экономия места на диске оказалась скромнее: 10 против 7,5 Гб.

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

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

compact /c /a /exe:lzx "C:Program Files (x86)mirkes.deTiny Hexermpth.exe"

Размер, занимаемый на диске данным исполняемым файлов уменьшился с 1,54 Мб до 0,7 Мб.

Сожмем содержимое всех файлов и подкаталогов в определенной директории:

compact /c /s /a /i /exe:lzx "C:Program Files (x86)*"


В нашем примере, размер каталога C:Program Files (x86) на диске уменьшился почти в два раза.

Важно! Ни в коем случае не стоит сжимать целиком системный диск или каталог C:Windows. Система может просто перестать загружаться (кейс со сжатием загрузчика разбирался в статье Ошибка BOOTMGR is compressed ).

Как правило, безопасно можно сжать следующие системные папки:

  • C:WindowsInstaller
  • C:Windowsassembly
  • C:WindowsMicrosoft.NET
  • C:WindowsFonts
  • C:WindowsInf
  • C:Windowsinfused apps

Чтобы распаковать сжатые файлы, воспользуйтесь командами:

compact /u /a /exe “C:Program Files (x86)mirkes.deTiny Hexermpth.exe"
compact /u /a /s /exe "C:Program Files (x86)*"

Несмотря на постоянный рост емкостей носителей, проблемы с исчерпанием свободного места остаются все так же актуальными, особенно часто эта проблема встает перед владельцами SSD дисков, стоимость Гб места на которых пока достаточно высока. Использование LZX сжатия файлов в Windows 10 поможет сэкономить место на диске за счет небольшой потери производительности (практически не заметна на современных системах). Есть еще один нюанс: на медленных дисках за счет использования сжатия можно уменьшить время чтения больших файлов, т.к. распаковка файлов в памяти будет занимать меньше времени, чем чтение большого файла с диска.

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

7 дней ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

7 дней ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

7 дней ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

7 дней ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

7 дней ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

7 дней ago