Вопрос: Как остановить Windows 8 от кеширования больших файлов?


редактировать

Видеофайлы, о которых я говорю, не связаны с LoL (игра). Это были отдельные файлы, которые я лично загрузил. Из 8GB, который использовался, игра разбилась, игра использовала менее 500 МБ. Chrome использовал 1 ГБ. Системные службы использовали менее 500 МБ, а все остальное у меня было менее 1 ГБ. Мое среднее потребление памяти составляет около 2,5 ГБ - 3 ГБ для всех программ / игр.

редактировать

Используемый 6 ГБ был после того, как я закрыл игру и все остальные приложения. Когда игра разбилась, все 8GB использовалось (не в режиме ожидания или бесплатно / недоступно для использования в случае необходимости) с 5 ГБ его кэшированных видеофайлов MKV которые не были в режиме ожидания / бесплатно, Игра была в состоянии сбой с «нехваткой памяти», потому что у меня отключена моя виртуальная память (файл подкачки) (проблема не в том, что игра может быть повреждена, но почему эти большие видеофайлы MKV сидят на всех пулах памяти игра для краха).

TL; DR

Windows 8 кэшировала тонну больших файлов MKV в качестве активной памяти (не в режиме ожидания). Эти MKV не были открыты ни в одной программе, и это было после нескольких перезапусков без открытия MKV. Использование RAM MAP для выпуска всех «рабочих наборов» очистило все MKV из кеша RAM и уменьшило использование моей памяти с 6 до 2 ГБ.

Как я могу это предотвратить?

ВСТУПЛЕНИЕ

Я использую Windows 8 64bit с 8 ГБ ОЗУ.

Я не использую много программ. Единственными «тяжелыми» программами, которые я использую, является Chrome, League of Legends и, возможно, Malwarebytes. Не много.

Но моя игра продолжала рушиться недостаточно памяти ошибки. Я был очень озадачен этим, потому что я знать Я не использовал 8 ГБ ОЗУ с тем, что я делал.

Поэтому я смотрю на диспетчер задач и добавляю большую часть материала в свою голову. Я обойдусь в 2 ГБ, используя протоколы мониторинга ресурсов 6 ГБ (без активных «тяжелых» программ). Действительно озадачен сейчас.

Получить более подробную информацию Карта Ram программа. Это говорит мне, что сопоставленные файлы используют 4 ГБ, не беспокоит меня, если все в режиме ожидания или готовый к выпуску в любое время, Но это не было ... все 4GB было активный не в ожидание,

Итак, я углубился и пошел файловый листер и перечислил его активной памятью и нашел виновника ...


1
2018-02-25 15:31


Источник


У вас отключен файл свопинга? - Scott Chamberlain
Может быть утечка памяти драйвера. - Bigbio2002
У меня своп отключен, потому что я знаю, что я недостаточно использую программы для подхода 8 ГБ. Фактически, после того, как я сброшу пул памяти, я только максимизируюсь в 3 ГБ, и все основные программы, которые я обычно использую, открыты. - Kenny Parker
опубликовать сохраненные данные RAMMap (файл rmp): blogs.technet.com/b/askperf/archive/2010/08/13/... - magicandre1981
загрузите данные RAMMap. Мне нужно посмотреть на них, чтобы помочь вам. - magicandre1981


Ответы:


Как Chrome, так и игра не предназначены для работы в системе без файла подкачки, предполагается, что будет файл подкачки и будет использовать гораздо больше памяти, чем «минимальный минимум» для запуска, чтобы повысить производительность.

Ваши варианты - связаться с разработчиками League of Legends и Chrome, предлагая им перезаписать их программное обеспечение, чтобы он был несовместимым с файлами (что может привести к ухудшению производительности программного обеспечения, потому что им необходимо провести дополнительные циклы процессора в памяти управление) или начать использовать файл подкачки.

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


2
2018-02-25 16:22



Наверное, мне нужно прояснить это еще дальше. Я проверил имена файлов в разделе «сводка файлов» в rammap. Файлы не имели никакого отношения к LoL. Это были видеофайлы, которые я лично загрузил. - Kenny Parker
Ответ все тот же, игра не предназначена для работы в системе без файла подкачки. Ваши два варианта остались прежними. - Scott Chamberlain
Я играю эту игру годами без файла подкачки. Он только разбился, когда в течение этих лет использование моей ОЗУ было на 100%. Я чувствую, что все пытаются избежать актуального вопроса. Я сделал так много исправлений и разъяснений для такого простого вопроса. - Kenny Parker


Программы Windows не запускаются «из памяти», потому что они неактивны. Они из адресной памяти. На практике это происходит только с 32-битными процессами, поскольку они могут обрабатывать только 4 ГБ (232) в лучшем случае, и часто всего 2 ГБ (231).

Кроме того, оперативная память, используемая для кэширования файлов, доступна для программ, когда она им нужна. У Windows все еще было 2 ГБ бесплатно, поэтому, конечно, он не выбрасывал файлы в кешированном виде. Почему? Лучше использовать свободную память вместо этого, когда запросит программа. (Но ваша программа, вероятно, не могла требовать больше 2 ГБ)

Обратите внимание, что это исправляет ошибку в более ранних версиях Windows (вплоть до XP), что ошибочно освобождало кэш-память, даже когда имелась другая свободная память. Кажется, вы хотите вернуть эту ошибку.


1
2018-02-25 15:51



Они могут исчерпать память, если адресное пространство больше, чем общая доступная виртуальная память (что может легко произойти, если у вас отключен файл подкачки) - Scott Chamberlain
@ScottChamberlain: Ну, это настройка вашей системы для проблем, поэтому она не является конфигурацией по умолчанию. Он также не упоминается в вопросе, и с 2 ГБ запасной ОЗУ это не имеет значения. - MSalters
Да, мой обмен отключен. Вот почему программа действительно могла сбой с ошибкой «из памяти». Проблема заключалась не в том, почему это было сбой, но почему эти видеофайлы MKV сидели во всей моей памяти, что делает его непригодным для других программ (эти кэшированные видеофайлы не были в режиме ожидания, они были активной частью памяти «отображенных файлов», ). Я также отредактировал свой вопрос, чтобы отразить это сейчас. - Kenny Parker
Активная ОЗУ, используемая кэшированными файлами, все еще может использоваться другими процессами. Windows сократит рабочий набор файлового кеша (и рабочие наборы других других процессов), если что-то еще нуждается в большом количестве оперативной памяти (о чем свидетельствует высокая скорость проверки страницы). Это не ваша проблема. Проблема заключается в том, что ваш лимит фиксации слишком мал для программ, которые вы пытаетесь запустить. См. Мой ответ. - Jamie Hanrahan


Вы работаете под фундаментальным заблуждением.

Сообщение, которое вы видите, не имеет никакого отношения к ОЗУ, и ему не помогли бы, даже если бы все эти сопоставленные файлы не были отображены, даже если вся ваша оперативная память была бесплатной.

Это относится к виртуальной памяти, а точнее, к фиксации заряда, которая может быть не больше предела фиксации. Предел фиксации - это размер ОЗУ (а не только «свободная оперативная память»!), А также текущий размер вашего файла подкачки.

Ваша игра, по-видимому, требует огромного распределения виртуального адресного пространства. Ваша система не имеет достаточной фиксации для удовлетворения запроса, поэтому игра выйдет из строя.

Обратите внимание, что после сбоя игры вы не сможете понять, почему возникла проблема. Плата за совершение будет ограничена или ниже лимита фиксации. (Это всегда так.) Поскольку запрос на распределение игры не удался, он не отражается в текущей фиксации фиксации. Нет простого способа узнать, о чем просила игра.

Что касается того, почему вы использовали возможность запуска игры без файла подкачки, вопрос заключается не в том, «кто использует ОЗУ», а «кто использует плату фиксации». n.b .: Файлы, сопоставленные кешем файлов, не способствуют фиксации заряда. Также, конечно, список резервных страниц.

Исключение состоит в том, чтобы либо добавить RAM, либо включить ваш файл подкачки.

Подробнее здесь: http://azius.com/blog/pagefile-yes1/ - вторая часть. Но первая часть помогает понять вторую часть.


1
2017-08-13 13:40





Разделители MKV, такие как LAV и Haali, отображают файл MKV в «резервную» память. Разделитель DivX Media Foundation MKV по какой-то причине отображает MKV-файл в «активную» память, потребляя огромное количество ОЗУ, не позволяя ему перераспределять по мере необходимости.

Я считаю, что разделитель DivX Media Foundation MKV делает это неправильно, и сплиттеру нужно сказать, чтобы он отображался в резервную память, как и другие разветвители MKV.

У меня есть несколько скриншотов с RAMMAP, в которых подробно описывается, как сплиттер отображает память по-разному:

https://superuser.com/questions/778562/standby-memory-mapping-divx-media-foundation-splitter-mkv-playback-on-media

Если не удастся исправить это «активное» отображение, я, вероятно, укушу пулю и обновлю до 16 ГБ ОЗУ.


0
2017-07-09 03:38



Программа не может отображать что-либо в режиме ожидания. Это действие, предпринятое SuperFetch. Также программа не может отображать что-либо непосредственно в активной ОЗУ. Файлы сопоставляются с виртуальным адресным пространством. Пейджер в ОС выводит страницы из файлов в ОЗУ по мере их доступа и выталкивает их из «активных», поскольку они больше не нужны или когда файл не отображается. - Jamie Hanrahan
Спасибо, Джейми. Я считаю, что эта проблема не будет связана с разделителем DivX Media Foundation, поскольку она может отображаться только в виртуальном адресном пространстве. Проблема будет заключаться в функционировании пейджера в ОС, приносящем файлы в активную ОЗУ при использовании разделителя Divx Media Foundation. Интересно, есть ли способ отключить пейджер от сопоставления файлов MKV с активной ОЗУ при использовании DivX Media Foundation Splitter. - MathewCNichols
Umm ... Как вы предлагаете работу сплиттера с данными в файле MKV, если данные не попадают в «активную RAM»? CPU не может манипулировать чем-либо, что не находится в ОЗУ. Все, что он может делать с данными в файле, читается в ОЗУ или записывает их из ОЗУ в файл. - Jamie Hanrahan
О, и ... LAV и Haali не «отображают файл MKV в резервную память». Они приносят содержимое файла в их виртуальное адресное пространство, а пейджер ОС выводит его в ОЗУ по мере его доступа. Он заканчивается в режиме ожидания, когда программа выполняется с этими страницами, или когда SuperFetch говорит: «О, вам может понадобиться этот файл снова, я оставлю его / перевезти в резервную память». Но резервные страницы доступны для немедленного использования как «Свободный». Они не представляют собой потерю доступной оперативной памяти. И они НИЧЕГО не делают с сообщением «из памяти». - Jamie Hanrahan