Как утилита освобождения ОЗУ освобождает ОЗУ?

14

Отбрасывает ли он ОЗУ, использованное программами, или переносит его в файл подкачки на жестком диске? Или он просто очищает ОЗУ без адреса?

мп
источник

Ответы:

18

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

Проблема в том, что оставление свободной памяти само по себе вообще бесполезно. Если бы этой оперативной памяти требовалась другая запущенная программа, то подкачка произошла бы в тот момент, а не когда вы запускали ram free'er. И в тот момент, когда вы хотите, чтобы эта программа была выгружена на диск, чтобы что-то сделать (например, если она просыпается каждые 5 минут, чтобы проверить ваш статус на Facebook), она просто собирается вернуться, чтобы сделать это.

Если у вас действительно есть проблема с оперативной памятью, у вас есть несколько вариантов:

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

2) Запустите меньше программ. Чем меньше запущенных вещей, тем больше оперативной памяти доступно для запущенных вещей. Это также включает в себя выбор менее ресурсоемких утилит. Например, если вы все время оставляете утилиту IM открытой, выберите ту, которая имеет небольшой объем памяти, а не ту, которая имеет все броские функции.

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

Других реальных вариантов нет.

Майкл Кон
источник
«Оставлять свободную оперативную память само по себе не полезно». Но это не позволяет людям скулить о том, что Windows Vista / 7 оставляет минимальный объем свободной оперативной памяти, потому что это предварительно извлеченная информация, к которой обычно обращается пользователь.
Ник Т
@Nick Люди, которые жалуются на то, что в Win7 или Vista нет свободной оперативной памяти на компьютере с большим количеством установленной оперативной памяти, как вы сказали, из-за предварительной загрузки Windows, являются проблемой для обучения пользователей. Этому следует противопоставить аргумент, согласно которому выделение и последующее освобождение памяти, используемой средством предварительной выборки, замедляет работу системы, поскольку все предварительно выбранные данные будут сбрасываться без уважительной причины и поэтому не будут кэшироваться при запуске нового приложения и также будет означать, что средство предварительной выборки тратит время и ресурсы, пополняя недавно очищенную оперативную память. ОЗУ освобождается, если программе все равно это нужно ...
Мокубай
Windows также использует оперативную память в качестве файлового кэша, поскольку это увеличивает ЭФФЕКТИВНУЮ скорость доступа к диску. Вы увидите все виды плохо информированных нытье об этом также. Во многих системах Windows причина, по которой так мало доступной оперативной памяти, обычно заключается в том, что огромные объемы используются в качестве кэш-памяти «ram-disk». Объем, используемый для этого, является динамическим, поскольку программам требуется больше памяти, объем, используемый для кеширования файлов, уменьшается. Люди, написавшие ОС, были не настолько невежественны, как некоторые хотели бы, чтобы мы думали.
quick_now
11

По сути, пользователи свободной памяти занимаются тем, что резервируют большие объемы оперативной памяти, заставляя Windows перенести другие программы на диск, а затем освобождая оперативную память, которую они зарезервировали. Для этого могут быть разные стратегии, но я не в восторге от внутренних органов.

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

Jawa
источник
Windows отправляет сообщение «Low_MEMORY», в котором просит все приложения освободить свои неиспользуемые кэши. Кэши SQL-сервера и файлов очищаются, поэтому у вас останется дополнительное свободное пространство.
Barfieldmv
8

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

Или ... если вы попытаетесь получить что-то даром, в конечном итоге вы получите ... ничего.

Другими словами, я считаю подобные вещи мошенничеством. Если вам не хватает оперативной памяти, лучшее долгосрочное техническое решение - купить больше.

quickly_now
источник
2

Windows отправляет сообщение «LOW_MEMORY», в котором просит все приложения освободить неиспользуемые данные. Кэши SQL-сервера и файлов очищаются, поэтому у вас останется много свободного места. Это также очищает кэш файлов Windows, который может легко занять 1 гигабайт при запуске.

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

Barfieldmv
источник
2

Наряду с другими ответами более старые инструменты, такие как RAMDoubler, использовались для сжатия оперативной памяти в памяти с очевидной стоимостью ЦП при доступе. Я думаю, что никто не делает это больше из-за такой стоимости доступа.

РЕДАКТИРОВАТЬ: никого .. за пределами Apple Все старое снова новое. Точнее говоря, разница между скоростью процессора и скоростью памяти (особенно дисковой) оооочень велика, что теперь это лучший вариант, особенно с учетом затрат на электроэнергию (читай: батарея) для удара по диску.

Рич Гомолка
источник
1
Сжатие памяти никогда не перерастало плохую репутацию, полученную от мошенничества SoftRAM. RAMDoubler и MagnaRam были законными продуктами. Технология все еще существует. IBM разработала аппаратное MTX и программное сжатие памяти на основе AME, а VMWare использует сжатие памяти в большинстве своих продуктов.
Кеннет Кохран
1
Это разумный дизайн, и в какой-то момент он может войти в ядро: lwn.net/Articles/397574
Тобу
1

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

Мехпер С. Палавузлар
источник