Физическое и виртуальное увеличение оперативной памяти компьютера. Как увеличить объем виртуальной памяти

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

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

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

Также существует термин 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.

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

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

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

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

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

Скажем так, это технология, позволяющая прикладной программе «считать», что она имеет неограниченный объем и непрерывное адресное пространство памяти. Хотя на деле память физически фрагментирована и ее объем искусственно увеличен на жестком диске.

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

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

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

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

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

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

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

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

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

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

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

Если вы хотите увеличить объем виртуальной памяти на своей системе, то ознакомьтесь с пошаговой инструкцией. (Для Windows XP):

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

Если вам кажется, что ваш компьютер работает слишком медленно, то увеличение виртуальной памяти не поможет, это может быть только результатом «пробуксовки». Слишком частая перетасовка блоков виртуальной памяти между реальной памяти и дисков потребляет большую часть времени работы компьютера, тем самым вызывая пробуксовку. Хотя и существует некоторые меры, оптимизирующие работу виртуальной памяти, все же лучшим решением будет увеличение объема оперативной памяти.

Виртуальная память – это часть объема жесткого диска, выделяемая системой при нехватке оперативной памяти для повышения быстродействия. При этом данные, которые на данный момент не используются компьютером, перемещаются в так называемый файл подкачки. Размер этого файла совпадает с объемом виртуальной памяти. Как правило, для нормального функционирования системы размер файла подкачки должен в 1,5 раза превышать объем оперативной памяти. Но если пользователь часто играет в компьютерные игры со сложной графикой или 3D-анимацией, или сам создает сложные программы, то размер файла должен быть увеличен вдвое, а то и втрое относительно оперативной памяти.Подключение виртуальной памяти позволяет более рационально использовать ресурсы оперативной памяти, перемещая второстепенные данные во вторичное хранилище. При этом процессы, идущие одновременно, работают изолированно, «не зная» друг о друге.Различают два способа реализации виртуальной памяти: страничная и сегментная. При страничной реализации память делится на области одинакового объема (страницы), которые принимаются за единицу памяти. Работающий процесс отправляет запрос к памяти по адресу, содержащемуся в виртуальной памяти. Адрес представляет собой номер страницы и смещение в ней. Система может сбросить на жесткий диск страницу, которая давно не использовалась.При сегментной организации виртуальная память делится на сегменты произвольного размера. При обращении процесса к памяти часть сегментов перемещается в оперативную память , а часть остается на жестком диске. Для каждого сегмента может быть назначен определенный уровень прав доступа. Работа сегментной памяти аналогична страничной, но обладает меньшей скоростью доступа.В большинстве случае увеличение виртуальной памяти происходит автоматически, но бывают ситуации, когда пользователю необходимо сделать это вручную. Однако в этом случае нужно иметь в виду, что быстродействие системы может превысить допустимые и компьютер, наоборот, станет работать гораздо медленнее.Ручное увеличение виртуальной памяти производится на Панели управления в разделе «Система» или «Система и ее обслуживание». По команде «Изменить параметры» появляется окно «Свойства системы», в котором нужно выбрать вкладку «Дополнительные». В разделе «Быстродействие» - кнопку «Параметры». В окне «Параметры быстродействия» - вкладка «Дополнительно», «Виртуальная память » -> «Изменить». Чтобы увеличить объем файла подкачки, необходимо снять галочку с команды «Автоматически выбирать объем файла подкачки» и задать необходимое значение.

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

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

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

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

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

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

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

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

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

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

Бесперебойная работа компьютера обеспечивается многими факторами, и виртуальная память играет немаловажную роль в этой сложной системе. Если для работы процессора зачастую используется 32 или 64 Мбайт оперативной памяти, то, конечно же, при высокой скорости этой памяти недостаточно, и на помощь приходит виртуальная память. Виртуальная память помогает скопировать приложения, которые давно не используются, на жесткий диск, освободив необходимое место для новых данных. Зачастую при работе системы мы замечаем, что производительность понижается, а это обозначает, что нужно предпринять меры для очистки и увеличения объема виртуальной памяти.

При первых же признаках замедления работы компьютера необходимо удостовериться, достаточно ли виртуальной памяти. Как правило, сообщение об этой неприятности возникает в нижнем правом углу экрана. Объем памяти можно увеличить, обратившись к файлу подкачки, который в каталоге именуется «pagefile.sys». В таком случае необходимо в меню «Панель управления» открыть папку «Система», вкладку «Дополнительно». Во вкладке «Быстродействие» выбрать графу «Параметры» и вкладку «Дополнительно». В разделе «Виртуальная память» можно увидеть объем доступной памяти на данный момент. Чтобы его увеличить, необходимо нажать кнопку «Изменить» и в окошке проставить новое значение. Рекомендовано увеличивать размер виртуальной памяти не более, чем в два раза (например, с 2048 Мбайт до 4096 Мбайт). Выбрав опцию «Особый размер», задаем исходный размер и максимальный размер, жмем кнопку «Задать». Установив размер файла подкачки на одном из жестких дисков, его необходимо выключить на остальных. Нужно зайти по очереди в каждый из остальных разделов и поставить отметку напротив опции «Без файла подкачки» и нажать кнопку «Задать». Время от времени необходимо чистить виртуальную память, чтобы сохранялись конфиденциальные данные из файлов подкачки. Системой предусмотрена специальная программа, но она, как правило, неактивна, поэтому ее рекомендуется включить.


Для очистки виртуальной памяти необходимо зайти в меню «Пуск», перейти в «Настройки» и в «Панель управления». Открыв вкладку «Администрирование», следует выбрать папку «Локальная политика безопасности», перейти в окно «Локальные параметры безопасности». Правой кнопкой мыши щелкнув по графе пункту «Завершение работы: очистка файла виртуальной памяти», выбираем «Свойства» и в опции «Выключить» нажимаем кнопку «Применить», затем жмем «ОК». Будьте готовы к тому, что компьютер следует два раза перезагрузить, после чего будет произведена полная очистка виртуальной памяти, файлов подкачки.


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