2

Вопрос в том, как заставить Windows 7 УДАЛИТЬ элементы из моей ОЗУ, когда они больше не используются.

Поскольку этот вопрос встречен со 100% сопротивлением, я собираюсь прояснить это однажды...

Этот вопрос НЕ противоположен: не то, почему я должен покупать больше памяти, не то, почему я должен убивать свой SSD с помощью файла подкачки, потому что это не 1985 и 16K не стоят пяти тысяч, это не о том, почему я должен оставлять файлы в памяти так четко не используются, и это не дебаты любого рода. С этим из пути к компетентным вычислениям ...

Я только начинаю играть в Elder Scrolls Online и с 8 ГБ ОЗУ, отключенным файлом подкачки и отключенным Superfetch не должно быть никаких причин, по которым 2 ГБ из ESO и 1 ГБ из Firefox означают, что у меня закончилось ОЗУ. Windows 7 очень четко оставляя элементы в памяти , даже если я ЯВНО отключить услугу SuperFetch.

Пример: используя RamMap, я вижу, что после очистки всей памяти все еще 111 мегабайт в настоящее время используются файлом фильма, который я смотрел на ужин три ночи назад ... не ПОЧЕМУ, но КАК я предотвращаю бессмысленную трату памяти в Windows, как этот?

Другими словами, как заставить Windows выгружать файлы из ОЗУ, когда программы, которые их использовали, сами были закрыты? Пожалуйста, отвечайте, только если вы планируете не отклоняться от моего ОЧЕНЬ четко определенного вопроса. Windows - это ее собственная проблема, когда она жалуется, что у меня мало оперативной памяти, когда у меня полно, и она просто тратит ее впустую.

5 ответов5

3

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

Я думаю, что единственным вариантом будет написать пользовательскую программу 2, которая может иметь более прямой доступ к диспетчеру кэша Windows и сможет очищать эти буферы. Скорее всего, вам придется использовать недокументированные вызовы API, поэтому вы не будете уверены, что ваша программа не будет работать через обновления Windows 3.

Если бы я собирался сделать это, я бы начал с книги Марка Руссиновича « Внутренние компоненты Windows » 4 и прочитал главу 11 "Диспетчер кэша", чтобы узнать, какие внутренние вызовы API выполняет Windows.


1. Не то, чтобы вы не могли использовать его, это просто сами окна, а программы, написанные для окон, не написаны с вашей конфигурацией как ограничение.
2. Или найдите программу, которая была написана уже.
3. Маловероятно, что он сломается, он, скорее всего, сломает основные версии Windows, но у обновления Windows есть небольшой шанс сломать его тоже.
4. Тот же человек, который сделал RamMap

1

Попробуйте RamMap - пустой список ожидания

RamMap - пустой список ожидания

0

Я столкнулся с той же проблемой в среде VMware vSphere, где виртуальная машина Windows с небольшими объемами ОЗУ (1 ГБ) имела бы относительно большой объем памяти, используемой для кэширования, что вызывало аварийные сигналы использования памяти виртуальной машины в vCenter. Следующий инструмент можно включить в запланированную задачу, чтобы периодически среди прочего периодически очищать резервный список.

https://wj32.org/wp/software/empty-standby-list/

0

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

Вокруг есть программа, которая может разрушить "резервную" часть памяти. Смотрите эту ветку:http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html Добавьте программу в планировщик задач, и все готово.

Windows отслеживает файлы, которые вы открываете / используете, например, в "Недавних документах". Например, тот фильм, который вы смотрели. Решение: Каждый день очищайте папку «C:\prefetch» и "Недавние документы" (например, с помощью Cleaner от Piriform).

Установите PcWinTech's Cleanmem. Это уменьшает использование памяти.

Вы можете включить файл подкачки с установленным SSD, но затем вам нужно использовать символическую ссылку для перенаправления трафика данных с файла подкачки на другой диск. http://blog.superuser.com/2011/05/10/maximizing-the-lifetime-of-your-ssd/

Кажется, есть ошибка в управлении памятью Windows. В некоторых особых случаях Windows отказывается освобождать память из "резервной" части памяти. Когда программы запрашивают больше памяти, они не получают ее из памяти в режиме ожидания. Тогда пользователь попадет в беду. например, компьютер вылетает.

0

Вам может не понравиться этот ответ, но ... создайте небольшой файл подкачки. Даже не имеет значения, куда вы его положите (хотя SSD лучше, и нет, вы не убьете свой SSD в ближайшее время), так как при таком количестве оперативной памяти он не будет использоваться слишком много (вы, конечно, не должны ничего замечать если все работает правильно) но это должно решить вашу проблему.

Если это не работает, значит что-то не так с вашей настройкой. С 8 ГБ ОЗУ и множеством приложений в фоновом режиме на компьютере, который работает круглосуточно и без выходных, у меня никогда не было проблем с нехваткой памяти в ESO (или что-то еще, но у меня, конечно, есть файл подкачки)

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