IO — Ivan Labs

Как реально работает оперативная память, простым языком

3 мин чтения
ЖелезоПроцессор

ОЗУ описывается в спецификациях просто как цифра («16 ГБ ОЗУ») без объяснения, для чего она реально нужна — вот простая версия.

ОЗУ держит то, что используется прямо сейчас, а не всё

Хранилище (ваш SSD/HDD) хранит всё постоянно, даже с выключенным питанием. ОЗУ хранит только то, что активно используется в данный момент, и теряет всё мгновенно при потере питания. Это не конкурирующие технологии — они решают по-настоящему разные проблемы.

Когда вы открываете приложение, его релевантный код и данные загружаются из хранилища в ОЗУ, потому что ОЗУ значительно быстрее читать и писать, чем любое устройство хранения — именно поэтому приложения «загружаются» при открытии, и именно поэтому этот шаг загрузки вообще существует.

Почему ОЗУ конкретно должна быть быстрой

Процессор постоянно читает инструкции и данные для выполнения — если бы ему приходилось получать всё напрямую с устройства хранения (даже быстрого SSD) для каждой операции, он проводил бы подавляющее большинство времени в ожидании, а не в вычислениях. ОЗУ существует специально, чтобы держать процессор снабжённым данными достаточно быстро, чтобы он не простаивал постоянно, ожидая более медленное хранилище.

Что происходит, когда ОЗУ заканчивается

Когда ОЗУ заполняется, операционная система начинает использовать часть диска хранилища как переполнение — обычно называемое виртуальной памятью или файлом подкачки. Это работает, но хранилище (даже SSD) значительно медленнее ОЗУ, так что система, сильно полагающаяся на это переполнение, становится заметно медлительной. Это реальный механизм за «мой компьютер тормозит, когда открыто слишком много вкладок/программ» — дело не в том, что сами вкладки тяжёлые, а в том, что ОЗУ заполняется, и система откатывается к медленному подкачиванию на основе хранилища.

Почему больше ОЗУ не всегда помогает

Добавление ОЗУ сверх того, что реально нужно вашей нагрузке, не даёт выгоды в производительности — дополнительная ёмкость просто простаивает неиспользуемой. Больше ОЗУ помогает только когда ваш текущий объём реально является узким местом, что определяется проверкой реального использования ОЗУ во время вашей самой тяжёлой обычной нагрузки, а не предположением, что больше всегда лучше.

Простая ментальная модель

КомпонентСкоростьПостоянствоЗадача
Кэш процессораСамая быстраяНикакого (очень маленький, временный)Мгновенно снабжать процессор для его текущей работы
ОЗУБыстраяТеряется при выключении питанияДержать то, что активно используется прямо сейчас
Хранилище (SSD/HDD)МедленнееПостоянноеХранить всё, даже с выключенным питанием

О том, как это связано с собственной внутренней быстрой памятью процессора (кэшем), см. наш отдельный гайд по кэшу и более широкое объяснение как процессор выполняет программу.

Частые вопросы

В чём реальная разница между ОЗУ и хранилищем (SSD/HDD)?

ОЗУ быстрая, но временная — её содержимое исчезает при потере питания, и она держит то, что активно используется прямо сейчас. Хранилище медленнее, но постоянно, храня всё даже когда компьютер выключен. Они решают разные проблемы, а не конкурируют версиями одного и того же.

Добавление больше ОЗУ всегда делает компьютер быстрее?

Только если текущий объём реально узкое место — если у вас уже достаточно ОЗУ для вашей нагрузки, добавление больше не даёт выгоды, поскольку дополнительная ёмкость просто простаивает неиспользуемой. Больше ОЗУ помогает конкретно, когда система сейчас исчерпывает её и откатывается к более медленному подкачиванию на основе хранилища.

Почему закрытие вкладок браузера иногда чинит медленный компьютер?

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

Нужна помощь с этим?

Свяжитесь со мной, и я помогу разобраться.

Связаться со мной

Похожие статьи

Поделиться:X / TwitterLinkedIn