Виртуальная память системы. Виртуальная память компьютера: что такое, как устроена, как увеличить. Стоит ли отключать виртуальную оперативную память

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

В настоящее время технология виртуальной памяти имеет аппаратную поддержку на всех современных процессорах.

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

Также существует термин swap, означающий виртуальную память (точнее способ её представления) или файл подкачки.

    Использование технологии виртуальной памяти позволяет:
  • упростить адресацию памяти клиентским программным обеспечением;
  • рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);
  • изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью).

Существует несколько способов реализации виртуальной памяти: свопинг, а также страничная и сегментная организации виртуальной памяти.

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

Использование свопинга наиболее эффективно, если запущено много интерактивных приложений, которые используют большой объем ОЗУ, но при этом практически не занимают процессорное время.

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

    Для наиболее эффективной организации свопинга и повышения производительности используют следующие методики:
  • 1. Под swap-файл выделяется место, объем которого равно объёму оперативной памяти, умноженному на 1, на 2 или на 3.
  • 2. Если в компьютере или ноутбуке несколько жестких дисков, то располагать файл подкачки нужно на менее нагруженном из них.
  • 3. Располагать файл подкачки следует на диске с наибольшими скоростями чтения/записи и как можно ближе к началу диска.
  • 4. При работе в Windows swap-файл лучше размещать на разделе с файловой системой FAT32, при этом не забывать, что она менее надежна, чем NTFS.
  • 5. При наличии достаточно большого объема оперативной памяти (более 2Гб) на малонагруженной системе можно вообще отказаться от файла подкачки.

Страничная организация виртуальной памяти

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

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

В семействе операционных систем Microsoft Windows используется файл pagefile.sys для хранения вытесненных из оперативной памяти страниц. Место под файл должно быть выделено заранее, размер можно указать самостоятельно или же доверить выбор операционной системе.

Сегментная организация виртуальной памяти

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

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

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

Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g - номер сегмента, а s - смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.

Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.

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

Что такое виртуальная память?

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

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

Как увеличить объем виртуальной памяти?

Объем виртуальной памяти компьютера регулируется в параметрах быстродействия. Чтобы добраться до них, зайдите в меню Пуск , перейдите в Панель управления , затем в раздел Система и выберите пункт Дополнительные параметры системы .

В окне Свойства системы перейдите на вкладку Дополнительно и нажмите на кнопку Параметры в разделе Быстродействие .

В окне Параметры быстродействия перейдите во вкладку Дополнительно и нажмите на кнопку Изменить в подзаголовке Виртуальная память .

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

Что касается размера файла подкачки, то здесь невозможно посоветовать установку какого-либо конкретного значения, поскольку объем виртуальной памяти должен выставляться в пропорциональной зависимости от объема оперативной памяти. Советуется устанавливать исходный размер файла подкачки в полтора раза больший, чем объем оперативной памяти, а максимальный – в три раза больший, чем исходный. Однако при этом файл подкачки будет постепенно фрагментироваться, что скажется на скорости его работы. Поэтому если объем установленной у вас оперативной памяти превышает хотя бы 3 Гб, лучше задать одинаковый размер для исходного и максимального значений файла подкачки – в полтора-два объема оперативной памяти.

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

Заменяя размер виртуальной памяти (файла подкачки), надо соблюдать следующие правила:
  • не размещать его на разделе диска, где стоит операционная система, использовать другой, менее загруженный раздел;
  • отводить под файл подкачки место, в полтора раза превышающее ОЗУ. Например, память объемом 2 Гб, значит, файл подкачки задайте 3000 Мб.
Нажмите кнопку «Пуск» – откроется «Главное меню». В нем кликните на строке «Компьютер» правой кнопкой мыши. Откроется новое меню, выберите в нем «Свойства».


Откройте в окне «Система» подпункт «Дополнительные параметры системы». Выполнить это можно по-другому: «Пуск» – «Панель управления» – «Система».


Открыто окно «Свойства системы». Теперь на вкладке «Дополнительно» откройте «Параметры» в разделе «Быстродействие».


В открытом окне «Параметры быстродействия» перейдите на вкладку «Дополнительно». Кликните кнопку «Изменить» в разделе «Виртуальная память».


В открывшемся окошке вносим все необходимые изменения. С пункта «Автоматически выбирать объем файла подкачки» снимите галочку. Выбирайте диск, наименее загруженный. На пункт «Указать размер» поставьте переключатель, измените для файла подкачки его максимальный и исходный размер. Задавать вы можете такие параметры, которые вам нужны, не забывая, что исходный размер файла должен быть больше оперативки в полтора-два раза. Кликните кнопку «Задать».


На всех остальных дисках теперь можно отключить возможность создания файла подкачки. Зайдите на каждый том жесткого диска поочередно и поставьте переключатель на пункт «Без файла подкачки», затем щелкните кнопку «Задать». Чтобы внесенные изменения заработали – перезагрузите ваш компьютер.


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

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

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

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

Как устроена виртуальная память?

Она организована либо как файл подкачки или сегментация. Большинство систем используют таблицы страниц для перевода виртуальных адресов прикладных программ, в физические адреса, используемые процессором для выполнения инструкций. Таблица хранит записи для отображения виртуального адреса в физический адрес. Системы могут иметь одну страницу таблицы для всей системы или отдельные страницы таблицы для каждой прикладной программы. Таким образом, файл подкачки может быть определён как процесс перемещения неактивных виртуальных страниц памяти на диск и их восстановление в реальной памяти по запросу. Существуют различные алгоритмы, чтобы выбрать, какие страницы должны быть перенесены на жесткий диск, а какие должны быть сохранены.Очень немногие системы используют концепцию сегментации для реализации виртуальной памяти . В сегментации, память делится на переменную размера сегментов. Номер сегмента и смещение внутри него, вместе образуют виртуальный адрес. Если процессор хочет конкретный элемент данных, он сначала ищет число своего сегмента в таблице, чтобы найти дескриптор сегмента. Дескриптор сегмента содержит информацию, которая является смещением в пределах сегмента и она меньше длины сегмента, а если нет, генерируется прерывание, чтобы сообщить, где находится сегмент. Если процессор не в состоянии найти сегмент в основной памяти, он генерирует аппаратное прерывание, побуждая операционную систему обратиться к файлу подкачки в сегменте. Операционная система выполняет поиск сегментов, которые не были в использовании в течение длительного времени и отправляет их свопы из основной памяти, чтобы освободить место для новых сегментов,которые необходимо прочитать.Как увеличить виртуальную память?

Здесь пошаговое руководство, как увеличить виртуальную память компьютера. (Только для ОС Windows):

Нажмите на меню «Пуск», а затем перейдите к панели управления.
Выберите производительность и обслуживание, и под ним, сделайте выбор системы.
Выберите параметры на вкладке Дополнительно в разделе под названием «Представление».
На вкладке Дополнительно в разделе Виртуальная память, выберите изменить.
В списке дисков [метка тома] выберите диск, содержащий файл подкачки, размер которого вы хотите изменить.
В разделе Размер файла подкачки для выбранного диска установите флажок в — размер по заказу.
Вы можете выбрать объем памяти, который вы хотите зарезервировать для виртуальной памяти, введя начальный и максимальный размер.
Нажмите на кнопку set
Перезагрузите компьютер при появлении запроса.

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

(Пока оценок нет)

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

Увеличение физической памяти

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

В спецификации будет примерно такая картина:

Из указанной информации мы можем вынести, что материнская плата поддерживает стандарт памяти DDR3, двухканальный режим. Доступный максимальный объем –16 Гб, частота – от 800 до 1800 МГц. Следующий шаг – вскрыть системный блок и посмотреть, сколько есть свободных слотов.

Помните, что DDR, DDR2 и DDR3 – это три разных, несовместимых друг с другом формата. Поэтому если ваша материнская плата поддерживает стандарт DDR2, не нужно покупать DDR3 – модуль не встанет в слот.

На конец 2015 года анонсируется выход стандарта DDR4 – с его приобретением тоже лучше не торопиться, так как технология еще не обкатана. Что касается DDR5, сообщения о котором можно встретить на форумах, то такого стандарта вовсе не существует. Есть видеопамять GDDR5, но к ОЗУ она имеет мало отношения.

Если материнская плата имеет двухканальный режим, ставьте две планки меньшего размера, а не одну большего. Две планки по 4 Гб будут примерно на 15% производительнее, чем один модуль на 8 Гб. Приобретая модули, старайтесь выбирать максимально близкие по характеристикам планки. Если планируете купить сразу пару, лучше выбрать KIT-набор, состоящий из двух полностью идентичных модулей.

Если вы доведете объем ОЗУ до 8 Гб, то не забудьте установить 64-битную систему, потому как Windows x32 не умеет работать с памятью, размер которой превышает 4 Гб.

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

  • Частоту подбираем максимальную, которую поддерживает материнская плата и процессор (его частоту тоже можно узнать с помощью утилиты HWMonitor).
  • Тайминг (задержка перед выполнением запроса) смотрим минимальный.

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

Виртуальная память

На Windows XP и последующих версиях по умолчанию включена виртуальная память: на выбранном разделе жесткого диска выделяется определенное место, к которому обращается система, если доступной оперативной памяти не хватает. Проще говоря, виртуальная память (файл подкачки) позволяет увеличить производительность за счет жесткого диска.

Для настройки виртуальной памяти:


Этот путь актуален для «семерки», Windows 8 и Windows 10. На XP порядок тот же, только в свойствах системы нужно сразу открывать вкладку «Дополнительно». В появившемся окне настройки виртуальной памяти вы можете установить автоматический выбор размера файла подкачки, указать объем вручную или отключить функцию. Посмотрим подробно самостоятельную установку объема виртуальной памяти:

  • Исходный размер – 1-1,5 объема физической оперативной памяти (если у вас 2 Гб ОЗУ, то ставьте 2-3 Гб виртуальной памяти).
  • Максимальный размер – 2 объема оперативной памяти.

Это рекомендуемые параметры, но есть одна тонкость: если у вас стоит не SSD-накопитель, а обычный HDD, то выделенный объем будет фрагментироваться. На производительности это сказывается плохо, поэтому в таком случае лучше оставить исходный и максимальный размер одинаковыми – равными объему физических модулей ОЗУ.

Если файл подкачки уже был фрагментирован (в течение долгого времени его объем был динамическим), то нельзя просто поменять его размер. Вам нужно:

  1. Установить значение «Без файла подкачки».
  2. Перезагрузить систему.
  3. Снова открыть параметры виртуальной памяти и указать размер файла подкачки.

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

Использование флеш-накопителя

Увеличить доступный объем оперативной памяти можно с помощью флешки. По сути, это тот же файл подкачки, только находится он на съемном накопителе, что позволяет снизить нагрузку на винчестер. Технология, позволяющая увеличить объем виртуальной памяти за счет флешки, называется Ready Boost. Для её применения требуется соблюдение нескольких условий:

  • Установлена Windows 7 или более поздняя версия.
  • Используется внешний диск (SSD накопитель, USB-флешка, SD-карта), объем которого превышает 1 Гб.
  • Скорость работы флеш-носителя составляет минимум 3 Мб/с (все современные флешки легко достигают этого показателя).

Если вы используете флеш-накопитель, объем которого превышает 4 Гб, то обязательно форматируйте его в NTFS. Оптимальный объем используемого съемного диска должен в 2-3 раза превышать физический размер оперативной памяти. Допустим, при 4 Гб ОЗУ желательно использовать флешку на 8-16 Гб.

  1. Подключите съемный диск к компьютеру.
  2. Если появится окно автозапуска, выберите пункт «Ускорить работу системы».
  3. Если автозапуск отключен, зайдите в «Компьютер» и откройте свойства подключенного флеш-накопителя.
  4. Перейдите на вкладку «Ready Boost».
  5. Отметьте пункт «Предоставлять это устройство» и укажите объем, который вы хотите выделить под создание кэш-файла, расширяющего виртуальную память.

Если вы хотите выделить весь доступный объем флешки, то отметьте пункт «Использовать это устройство».

Важно: не отключайте флешку после активации технологии Ready Boost. Зайдите в свойства и поставьте отметку «Не использовать это устройство», после чего можно извлекать накопитель.

Можно ли серьезно повысить производительность компьютера с помощью Ready Boost? Вопрос дискуссионный. По некоторым данным производительность системы увеличивается на треть, но это максимальный эффект, который достигается при выполнении простых операций. Значительного же прироста ожидать не следует, так как на производительность влияет еще ряд факторов, включая мощность процессора.




Top