Приветствую всех, разбираемся с такой штукой как Memory Compression в Windows 10.. что это такое? Да, по названию могу предположить, что связано с оптимизацией памяти.. но нужно разобраться точно.
Значит покопался в интернете, вот что выяснил — переводится как сжатая память, это название вы можете увидеть в другом названии — Система и сжатая память. Может использовать много оперативной памяти. Еще узнал, что процесс Система и сжатые файлы (System and compressed memory) — один из компонентов и.. вроде бы это какое новшество.
Этот процесс уменьшает обращение к файлу подкачки, он помещает данные вместо этого в память в сжатом виде. Да, это как бы должно ускорить работу. Но вот… сжатие памяти и ее обратный процесс — не может обходиться без ресурсов процессора, поэтому на практике спокойно могут быть тормоза.
Жесткий диск — память, где хранятся файлы. Она медленная. SSD — уже намного быстрее, но все равно, по сравнению с оперативной памятью — очень медленный. Именно оперативная память — очень быстрая, поэтому хранение данных в ней всегда улучшает быстродействие компа.
Процесс System постоянно грузит процессор на 30%. Как решил проблему..
Если вы используете проги, которые могут требовать много оперативки.. ну или в Хроме открыли кучу вкладок.. то процесс Система и сжатые файлы может использовать много оперативки. Это как бы нормально, но вот глюки при этом, разумеется должны отсутствовать.

Вот собственно сам процесс: И как видите, даже здесь он много кушает оперы.. больше чем полгига..
Как отключить Система и сжатые файлы?

Если попробовать этот процесс завершить — могут быть проблемы.. об этом Windows вас предупредит таким сообщением: Думаю вы понимаете, что это связано с тем, что вы получается завершите работу процесс.. в памяти которого содержатся данные, которые проги используют в данный момент. Но можно ли отключить вообще? В интернете есть способы, например отключение службы SuperFetch.
Теоритически — похоже что эта служба и отключает работу Система и сжатые файлы.. но насколько я знаю, SuperFetch отвечает за кэширование файла. То есть немного другое. Поэтому.. я на всякий случай напишу как отключать SuperFetch, после отключения ничего страшного не будет, но потребление памяти и правда может уменьшиться. В общем отключить можно так:
- Зажмите Win + R, появится окошко Выполнить.
- Напишите туда команду services.msc, нажмите ОК.
- Появится окно служб, найдите здесь SuperFetch, нажмите два раза.
- В окошке свойств выберите в менюшке Тип запуска — отключено, и потом еще нажмите кнопку Отключена. При возможности перезагрузите ПК.
Второй способ отключения, скорее всего более корректный
Но способ, более логичный — при помощи командой строки PowerShell, запущенной от администратора, для этого можно зажать Win + X и потом в менюшке выбрать этот пункт:
КАК УСКОРИТЬ И ОСВОБОДИТЬ ОЗУ Windows 10 Pro? 100% лайфхак для оперативной памяти

Либо просто откройте меню Пуск, найдите там Windows PowerShell, откройте папку, нажмите правой кнопкой по PowerShell и выберите пункт запуска от администратора:

Далее нужно указать команду для отключения:

Команду нужно вставить и нажать энтер. А после — выполнить перезагрузку. Потом, после перезагрузки советую проверить.. нужно снова запустить PowerShell и вставить команду:
Она покажет — включено сжатие памяти или нет. Нужно посмотреть в графу MemoryCompression, если там указано True значит включено:

Хм, если отключено.. то наверно будет написано обратное True, то есть False.
Ребята, на этом все. Надеюсь вам эта информация пригодилась. Если что не так, то сори. Удачи и добра, до новых встреч господа!
Источник: onecomp.ru
Memory Compression в Windows 10 — что это такое?
Приветствую всех, разбираемся с такой штукой как Memory Compression в Windows 10.. что это такое? Да, по названию могу предположить, что связано с оптимизацией памяти.. но нужно разобраться точно.
Значит покопался в интернете, вот что выяснил — переводится как сжатая память, это название вы можете увидеть в другом названии — Система и сжатая память. Может использовать много оперативной памяти.
Еще узнал, что процесс Система и сжатые файлы (System and compressed memory) — один из компонентов и.. вроде бы это какое новшество. Этот процесс уменьшает обращение к файлу подкачки, он помещает данные вместо этого в память в сжатом виде. Да, это как бы должно ускорить работу. Но вот… сжатие памяти и ее обратный процесс — не может обходиться без ресурсов процессора, поэтому на практике спокойно могут быть тормоза.
Жесткий диск — память, где хранятся файлы. Она медленная. SSD — уже намного быстрее, но все равно, по сравнению с оперативной памятью — очень медленный. Именно оперативная память — очень быстрая, поэтому хранение данных в ней всегда улучшает быстродействие компа.
Если вы используете проги, которые могут требовать много оперативки.. ну или в Хроме открыли кучу вкладок.. то процесс Система и сжатые файлы может использовать много оперативки. Это как бы нормально, но вот глюки при этом, разумеется должны отсутствовать.
Вот собственно сам процесс:

И как видите, даже здесь он много кушает оперы.. больше чем полгига..
Как отключить Система и сжатые файлы?
Если попробовать этот процесс завершить — могут быть проблемы.. об этом Windows вас предупредит таким сообщением:

Думаю вы понимаете, что это связано с тем, что вы получается завершите работу процесс.. в памяти которого содержатся данные, которые проги используют в данный момент.
Но можно ли отключить вообще? В интернете есть способы, например отключение службы SuperFetch. Теоритически — похоже что эта служба и отключает работу Система и сжатые файлы.. но насколько я знаю, SuperFetch отвечает за кэширование файла. То есть немного другое. Поэтому.. я на всякий случай напишу как отключать SuperFetch, после отключения ничего страшного не будет, но потребление памяти и правда может уменьшиться. В общем отключить можно так:
- Зажмите Win + R, появится окошко Выполнить.
- Напишите туда команду services.msc, нажмите ОК.
- Появится окно служб, найдите здесь SuperFetch, нажмите два раза.
- В окошке свойств выберите в менюшке Тип запуска — отключено, и потом еще нажмите кнопку Отключена. При возможности перезагрузите ПК.
Второй способ отключения, скорее всего более корректный
Но способ, более логичный — при помощи командой строки PowerShell, запущенной от администратора, для этого можно зажать Win + X и потом в менюшке выбрать этот пункт:

Либо просто откройте меню Пуск, найдите там Windows PowerShell, откройте папку, нажмите правой кнопкой по PowerShell и выберите пункт запуска от администратора:

Далее нужно указать команду для отключения:

Команду нужно вставить и нажать энтер. А после — выполнить перезагрузку. Потом, после перезагрузки советую проверить.. нужно снова запустить PowerShell и вставить команду:
Она покажет — включено сжатие памяти или нет. Нужно посмотреть в графу MemoryCompression, если там указано True значит включено:

Хм, если отключено.. то наверно будет написано обратное True, то есть False.
Ребята, на этом все. Надеюсь вам эта информация пригодилась. Если что не так, то сори. Удачи и добра, до новых встреч господа!
Источник: virtmachine.ru
Как получается, что программа сжатия файлов может использовать больше оперативной памяти, чем несжатый файл, который она сжимает?
Я сжимал набор файлов размером 120 МБ с наилучшим сжатием, которое предлагает 7z, и заметил, что на пике он потребляет почти 600 МБ ОЗУ.
Почему эти программы сжатия используют так много оперативной памяти даже при работе с реально маленькими наборами данных, даже до такой степени, что они потребляют в несколько раз больше памяти, чем несжатый размер своего набора данных?
Просто любопытно, меня больше интересует техническая сторона.
изменён Dennis Williamson 77k
задан Faken 756
2 ответа 2
Технически никогда не был в сжатии, но давайте начнем поиск .
В справочном файле 7z упоминается:
LZMA — это алгоритм, основанный на алгоритме Лемпеля-Зива. Он обеспечивает очень быструю декомпрессию (примерно в 10-20 раз быстрее, чем сжатие). Требования к памяти для сжатия и распаковки также различны (подробности см. В переключателе d = [b | k | m]).
(Обратите внимание, что в статье об алгоритме LZ в Википедии ничего не говорится о требовании к памяти.)
d = [b | k | m] Устанавливает размер словаря для LZMA. Вы должны указать размер в байтах, килобайтах или мегабайтах. Максимальное значение для размера словаря составляет 1 ГБ = 2 ^ 30 байт. Значения по умолчанию для LZMA: 24 (16 МБ) в обычном режиме, 25 (32 МБ) в максимальном режиме (-mx = 7) и 26 (64 МБ) в ультра-режиме (-mx = 9).
Если вы не укажете какой-либо символ из набора [b | k | m], размер словаря будет рассчитываться как DictionarySize = 2 ^ Size bytes. Для распаковки файла, сжатого методом LZMA с размером словаря N, вам нужно около N байтов доступной памяти (RAM).
После википедии в дополнение к статье о словарных кодерах может показаться, что алгоритм работает путем сравнения данных, которые должны быть сжаты, с набором данных в «словаре», который должен быть основан на необработанных данных, которые должны быть сжаты.
Независимо от того, как построен этот словарь, поскольку он должен храниться в памяти, требование к ОЗУ является функцией этого словаря. А поскольку этот словарь не является необработанными данными, а представляет собой некоторую несжатую структуру данных, он будет (может) быть больше, чем необработанные данные, которые обрабатываются. Имеет смысл?
ответ дан Martin 1k
Если другой ответ слишком сложен для чтения, потому что в нем много технических терминов, я предлагаю свой ответ.
Файл хранится на жестком диске или твердом диске. Что за файл вы спрашиваете? Я отвечаю, куча единиц и нулей, расположенных в определенном порядке, который выглядит как файл снаружи. Что такое исполняемая программа *.exe ? Это исполняемый код машинного кода, а также набор из 1 и 0. Он также хранится на вашем диске.
Когда вы щелкаете по исполняемому файлу сжатия файлов, алгоритм инструкций кода загружается из *.exe на диске в ОЗУ. Только тогда он сможет бежать. ЦП компьютера запускает программы и читает / записывает данные. Он не может получить что-либо непосредственно с диска. Сначала он должен загрузить все в оперативную память, которая действует как посредник между процессором и диском, на котором хранятся все ваши данные.
Теперь программа сжатия файлов запускается процессором в оперативной памяти. Что инструкции кода говорят процессору делать? Они говорят ему загрузить сам файл с диска в оперативную память, чтобы программа могла с ним работать. Итак, теперь у нас есть две вещи в оперативной памяти: сама программа и файл.
Вы говорите этой программе сжатия файлов, чтобы сжать файл. Однако он не может волшебным образом сделать это. Чтобы быть сжатым, файл должен быть расположен в определенном порядке, максимально плотно. Возможно, до сжатия файл был несколько неорганизованным, как ваш картотека. Программа сжатия файлов должна организовать файл максимально аккуратно и плотно.
Для этого ему необходимо временно перевести файл в еще более неорганизованное состояние, чтобы найти все фрагменты, к которым все относится.
Подумайте, как бы вы сжали свои документы. Сначала вы разложите их по всему столу, чтобы вы могли их видеть, а они упорядочили их по категориям и начали складывать бумаги в папки.
Итак, теперь у нас есть три вещи в оперативной памяти:1. Сама инструкция программы. 2. Исходный файл, который был загружен с диска. 3. Временная копия исходного файла, которая находится в состоянии, когда ее разбирают и собирают обратно.
Может быть, в оперативной памяти сделано несколько временных копий всего файла или даже его частей, чтобы упростить для программы организацию и сжатие этого файла. Теперь вы видите, как программы сжатия файлов могут занимать гораздо больше оперативной памяти, когда они работают, по сравнению с размером исходного файла на диске?
Количество ОЗУ, использованное во время этого процесса, зависит от умения программиста, разработавшего приложение. Есть умные и эффективные способы написания кода, чтобы минимизировать потребление оперативной памяти. Кроме того, есть способы грубой силы для решения той же задачи, но она работает медленнее и занимает больше оперативной памяти. ОЗУ может быть даже потрачено впустую, если в программе есть утечка памяти. Представьте, что утечка памяти делает несколько копий одних и тех же данных, но затем оставляет их на столе и даже не удосуживается почистить себя.
В конце концов, хотя все временные копии будут сжаты в сжатую версию файла. Тем не менее, он все еще находится в оперативной памяти, поэтому сжатую версию файла необходимо отправить обратно на жесткий диск, где он будет сохранен на постоянной основе.
Основная идея заключается в том, что для достижения состояния с низкой энтропией вы должны временно пройти состояние с высокой энтропией. Это, конечно, написано в самых общих чертах.
Источник: poweruser.guru