• Авторизация


Оперативная память: разрушаем мифы 07-07-2012 00:48 к комментариям - к полной версии - понравилось!


Существует целый ряд программ, по сути своей шарлатанских. Все они обещают чудодейственный прирост скорости компьютера благодаря освобождению места в оперативной памяти компьютера. Чтобы понять, почему это бесполезно и даже вредно, для начала надо разобраться — что такое вообще оперативная память?


1. Что такое оперативная память и зачем она нужна?
Оперативная память (или RAM — Random Access Memory, или ОЗУ — Оперативное Запоминающее Устройство) — энергозависимая память, используемая для временного хранения команд и данных, необходимых для вычислений, которые делает процессор (или процессоры) компьютера. Более точно и подробно об этом рассказано в
Википедии
, а я сосредоточусь на собственно проблеме свободного места в оперативной памяти.

Примечание: я рассказываю максимально упрощенно, опуская множество терминов и особенностей, оставляя только самую суть, требуемую в контексте моей заметки.
RAM нужна процессору для быстрого доступа к данным, что жесткий диск никак обеспечить не может. Поэтому программа при запуске загружается в оперативную память — только так компьютер может делать вычисления, гоняя данные к процессору из оперативной памяти и обратно.
В Windows запущенные программы физически могут располагаться не только «в платах оперативной памяти», но и на жестком диске в файле pagefile.sys. Этот файл называется «файлом подкачки» или «свопом» (от англ. swap).
Идея такова: если программа занимает много памяти, ее часть выгружается на жесткий диск в файл подкачки, освобождая «жизненное пространство» для других программ, а в случае надобности данные загружаются обратно в оперативную память.
Проблема заключается в том, что разница в скорости между оперативной памяти и жестким диском огромна. Наглядно это можно продемонстрировать так:




Чтобы в файл подкачки сбрасывались только ненужные данные, в Windows работает Менеджер памяти. Работает вполне успешно, благодаря чему на компьютере с 512 Мб ОЗУ можно запускать программы, занимающие более гигабайта памяти. Типичный пример — современные версии Adobe Photoshop, 3DS Max и многие другие программы для сложных вычислений. Конечно, при таком малом количестве оперативной памяти программы будут тормозить, однако работать в них худо-бедно, но возможно.

2. Что же делают оптимизаторы памяти?

В первую очередь — показывают размер свободного места в оперативной памяти. Причем зачастую с красными буквами и предупреждениями о том, что это негативно сказывается на скорости компьютера. Что, вообще-то, неправда. Если программе нужна вся оперативная память — значит, это требуется для дела и работать быстро она будет только в том случае, если ей дадут места столько, сколько попросит. Типичный пример таких программ — игры. Если игре требуется 2 гигабайта оперативной памяти — с этим ничего поделать нельзя. Без требуемого объема RAM играть будет проблематично из-за низкой частоты кадров — игра будет тормозить.
Бывают, конечно, ошибки под названием «утечка памяти», когда программа беспричинно разрастается и занимает всю память, но в таком случае надо требовать от разработчиков этой программы исправления ошибки, а не освобождать память оптимизаторами.
Программа оптимизации памяти (названия у них могут быть разные — SuperRAM, FreeMemory, Memory Management SuperProMegaEdition и т.п.) может освобождать память несколькими способами, но все они завязаны на принципе обмана Менеджера памяти Windows:

1. Программа вызывает специальную функцию EmptyWorkingSet (), которая заставляет все программы как можно больше выгрузить «себя» в файл подкачки.
2. Программа начинает бесконтрольно разрастаться в памяти, сообщая Менеджеру памяти Windows о том, что ей это нужно для дела (я говорю метафорами, но вообще-то дело обстоит именно так), в результате чего Менеджер памяти выбрасывает как можно больше программ на жесткий диск


Итог всегда один: программы начинают тормозить, зато циферка свободного места в оперативной памяти зеленого цвета и программа оптимизации памяти говорит, что все хорошо. В итоге пользователь радуется, открывает окно со свой любимой программой и... ждет. Потому что его любимая программа начинает сильно тормозить. Так будет до тех пор, пока программа не вернет «себя» в оперативную память из файла подкачки на жестком диске. В итоге индикатор свободного места снова сообщает о занятости памяти, пользователь злится, запускает очистку памяти и все происходит по второму (третьему, пятому, десятому) кругу.

Вывод:освобождение оперативной памяти оптимизаторами идет только во вред и снижает производительность

3. Как надо оптимизировать память?
Самый очевидный способ повысить производительность компьютера — закрыть ненужные программы. Второй — установить побольше планок (плат) оперативной памяти, чтобы программы «чувствовали себя вольготно» и работали пошустрее. Других способов ускорения компьютера, непосредственно связанных с оперативной памятью, нет.

Еще раз повторюсь: оптимизаторы памяти — бред с целью заработать деньги на доверчивых пользователях. Такой же глупостью является и подстройка «скрытых настроек памяти» в Windows, так как там все уже протестировано и настроено наиболее оптимально.

4. О свободной оперативной памяти в Windows Vista, 7, 8
На форумах я часто вижу возмущенные крики (цитирую): «Поставил Windows 7, посмотрел Диспетчер задач, а там говорится, что занято полтора гигабайта или вся оперативная память! Windows 7 жрет очень много памяти!»
На самом деле все обстоит совсем не так и причин возмущаться нет. Совсем наоборот: в современных операционных системах свободная память отводится под кэш. Это происходит преимущественно благодаря функции SuperFetch. Благодаря кэшу программы запускаются быстрее, так как вместо обращения к жесткому диску данные загружаются из оперативной памяти (см. картинку выше, разница в скорости написана жирным шрифтом). Если какой-то программе понадобиться больше оперативной памяти — кэш моментально сократит свой размер, уступив место. Подробнее об этом написано на
Хабрахабре
, мне добавить нечего.




5. Изменение размера файла подкачки или его отключение
Тоже довольно распространенные, в некотором роде вредные, советы. Об этом есть хорошая статья на
Хабрахабре
. Я лишь приведу выводы той статьи:
1. Изменять размер файла подкачки нет особого смысла
2. Отключение вызовет неприятные глюки


6. Подводим итоги
•Оптимизаторами оперативной памяти пользоваться нельзя
•Трогать настройки памяти — тоже, даже если в программе есть множество подсказок
•Свободная оперативная память в Windows Vista/7/8 используется во благо, лучше не трогать этот функционал — все хорошо работает, улучшить практически ничего нельзя.

Источник
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Оперативная память: разрушаем мифы | НатаВ - Дневник НатаВ | Лента друзей НатаВ / Полная версия Добавить в друзья Страницы: раньше»