Что такое swap в компьютере
Виртуальная память: Что это и как ее увеличить?
Виртуальная память — что это?
Виртуальная память является подкачкой (дополнением) оперативной памяти. Она присутствует практически во всех операционных системах.
При запуске ресурсоемких программ у нас постоянно возникает потребность в виртуальной памяти. По этому сегодня мы рассмотрим подробный обзор «что это такое?» и как мы можем ее изменить в лучшую сторону.
Что такое виртуальная память?
Виртуальная память (Virtual Memory, ВП) — это метод управления памятью компьютера, использующий для работы файл подкачки (swap file). При недостатке существующего объема ОЗУ, позволяет запускать на ПК более ресурсозатратные программы. В таком случае данные приложения автоматически перемещаются между основной памятью и вторичным хранилищем.
Виртуальная память так же обладает рядом достоинств:
За счет ее использования компьютер способен изолировать запущенные процессы друг от друга и рационально распределять RAM.
Как узнать объем файла подкачки (swap file)
Файл подкачки хранится на винчестере компьютера. Если для работы устройства используется несколько жестких дисков, то он будет расположен на самом быстром из них. Определить объем ВП можно с использованием стандартных средств Windows или специального софта.
Размер свапа подкачки можно узнать через штатную утилиту «Системный монитор».
Для этого:
При определении размера ВП система исходит не из объема ОЗУ, а из задач, которые выполняются на устройстве. Поэтому для определения размера необходимо запустить приложения и компоненты, которые обычно используются компьютером и посмотреть пиковое значение свапинга в течение этого сеанса. Он и будет определять величину файла подкачки.
Dump File и его типы
Swap используется не только для расширения физической памяти, но и для создания аварийных дампов при возникновении «внештатных» аварийных ситуаций.
Как это работает:
Таким образом при автоматическом выборе размера свапа, Windows руководствуется настройками для создания аварийного дампа.
Загрузка и восстановление
Дампы можно разделить на 4 типа:
В него записывается все содержимое RAM на момент незапланированного завершения работы. С учетом этой информации файл подкачки должен иметь размер равный физической памяти компьютера +1 МБ (используется для создания записи в системном журнале).
В него записывается только информация и память, выделенная для ядра операционной системы. Он занимает сравнительно меньше места и его объема достаточно, чтобы Windows могла определить причины аварийного завершения работы.
Записывает только самую необходимую информацию для выявления причин аварийного сбоя. Здесь находится стоп-код и описание самой ошибки, дополнительно указываются загруженные на устройство драйвера и перечень запущенных процессов.
Доступен только для операционных систем семейства Windows начиная от восьмерки и выше, либо Server 2012. Представляет собой аналог дампа ядра, но с тем отличием, что система может постоянно менять размер файла подкачки, позволяя ей выбирать оптимальный для работы вариант.
Как изменить Dump File
Перед тем, как менять размер виртуальной памяти, необходимо правильно определить и выбрать тип дампа. Сделать это можно используя штатные инструменты Windows. Для этого выполните следующие действия:
Загрузка и восстановление
Как изменить объем виртуальной памяти через быстродействие
Запустите системную утилиту «Выполнить» одновременным нажатием клавиш Windows+R или откройте ее через Пуск. После этого:
По умолчанию система определяет размер полностью в автоматическом режиме. Это наиболее оптимальная опция для Windows. При изменении объема свапа вручную важно, чтобы новый размер виртуальной памяти был не менее существующего, в противном случае возможны сбои в работе ПК.
Как добавить виртуальную память на Windows
Как правило, среднестатистическому пользователю достаточно того объема ВП, которая выделяется устройством автоматически. Если на ПК мало физической RAM, то увеличить ее объем можно за счет свапа.
Для этого:
Рекомендации по использованию виртуальной памяти
Если вы не знаете, какой оптимальный объем для свапа выбрать и на что это будет влиять, то далее мы предлагаем ознакомиться вам с небольшими советами, которые помогут увеличить быстродействие ПК.
Итак, рассмотрим ряд советов:
После манипуляций с настройками компьютера и изменением размера ВП лучше перезагрузить компьютер (хотя это не всегда обязательно) и запустить специальную утилиту для дефрагментации. Это поможет переместить его ближе к началу раздела, чтобы система получала к нему моментальный доступ.
Так же подробно про ВП можно посмотреть в видеоролике ниже:
Виртуальная память или файл подкачки
В видео рассматривается оптимальный размер файла подкачки
Сегодня мы ответили на вопрос «Виртуальная память, что это? И для чего она нужна?». Она помогает значительно повысить быстродействие системы и используется для хранения информации при сбоях. По умолчанию объем файла подкачки регулируется Windows полностью в автоматическом режиме.
Если пользователь хочет указать его самостоятельно, то для этого необходимо учесть выбранный тип дампа (либо отключить его). Объем виртуальной памяти зависит от дампа и общего объема RAM.
Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов
Swap (Русский)
Эта страница дает ознакомление с пространством подкачки и подкачкой страниц в GNU/Linux. Охватывает создание, активацию файлов и разделов подкачки.
Linux делит свою физическую RAM (оперативную память) на кусочки памяти, называемые страницами. Подкачка (swapping) это процесс, когда страницы памяти копируются на предварительно сконфигурированное пространство на жестком диске, называемое пространством подкачки, чтобы освободить эту страницу из памяти. Суммарный размер оперативной памяти и пространства подкачки это количество доступной виртуальной памяти.
Поддержка подкачки обеспечивается ядром Linux и утилитами в пользовательском пространстве из util-linux пакета.
Contents
Пространство подкачки
Пространство подкачки может быть разделом диска или файлом. Пользователи могут создать пространство подкачки во время установки или позднее в любое желаемое время. Пространство подкачки может быть использовано для двух целей, расширить виртуальную память за пределы установленной оперативной памяти (RAM), а также для сохранения данных при гибернации (suspend-to-disk).
Иногда стоит включать Swap в зависимости от установленной оперативной памяти и количества требований для запуска желаемых программ. Если количество оперативной памяти меньше требуемого, тогда стоит включить подкачку. Это позволяет избежать состояния нехватки памяти (OOM), при котором механизм ядра Linux, OOM Killer, будет автоматически пытаться освободить память, убивая процессы. Чтобы увеличить количество виртуальной памяти до требуемого уровня, добавьте необходимую разницу как пространство подкачки. Например, если программа требует 7,5 GB памяти для запуска, а у вас установлено 4 GB оперативной памяти, добавьте разницу 3,5 GB как подкачку. В будущем добавляйте больше пространства к подкачке, учитывая требования. Это вопрос личных предпочтений если вы считаете, что программы должны быть убиты, вместо включения подкачки. Самый большой недостаток в подкачке это снижение производительности, см. раздел #Производительность
Для проверки статуса подкачки, используйте:
free также покажет недостаток памяти, который может быть исправлен включением или увеличением подкачки.
Раздел подкачки
Для подключения устройства как подкачку:
Чтобы подключить этот раздел подкачки при загрузке, добавьте запись в fstab:
где может быть получен из команды:
Активация используя systemd
Отключение подкачки
Чтобы деактивировать определенное пространство подкачки:
Файл подкачки
Как альтернатива к созданию целого раздела, файл подкачки даёт возможность менять свой размер на лету, а также его гораздо легче полностью удалить. Это может быть особенно важно, если дисковое пространство ограничено (например, небольшие SSD)
Вручную
Создание файла подкачки
Установите права доступа (всеми читаемый файл подкачки это огромная локальная уязвимость)
После создания файла нужного размера, форматируйте его в подкачку:
Активируйте файл подкачки:
В завершении, отредактируйте fstab, добавив запись для файла подкачки:
Удаление файла подкачки
Чтобы удалить файл подкачки, сначала нужно отключить подкачку, а затем файл может быть удален:
Автоматически
systemd-swap
Подкачка с USB устройства
Благодаря модульности, предлагаемой Linux, мы можем иметь множество разделов подкачки на различных устройствах. Если у вас полностью заполнен жесткий диск, то можно использовать USB устройство как временный раздел подкачки. Однако, этот метод имеет серьёзные недостатки:
Чтобы добавить USB устройство как подкачку, сначала необходимо разметить USB флешку для подкачки как описано в секции #Раздел подкачки.
Далее откройте /etc/fstab и добавьте
в опции монтирования первоначальной записи подкачки, таким образом USB подкачка будет иметь приоритет записи над старым разделом.
Данная инструкция будет работать и для других устройств хранения, таких как SD карты и т.д.
Шифрование подкачки
Производительность
Операции подкачки как правило существенно медленнее чем непосредственный доступ к RAM. Отключение подкачки полностью для повышения производительности, иногда может привести к ухудшению, поскольку это уменьшает доступную память для VFS кеша, вызывая более частые и дорогостоящие операции ввода/вывода.
Значения подкачки можно настроить, чтобы помочь производительности:
Swappiness
Swappiness sysctl параметр представляющий частоту использования пространства подкачки. Swappiness может иметь значение от 0 до 100, значение по умолчанию = 60. Низкое значение заставляет ядро избегать подкачки, высокое значение позволяет ядру использовать подкачку наперёд. Использование низкого значения на достаточном количестве памяти, улучшает отзывчивость на многих системах.
Чтобы проверить текущее значение swappiness:
Чтобы временно установить значение swappiness:
Чтобы постоянно установить значение swappiness, отредактируйте (создайте) конфигурационный файл sysctl
Чтобы проверить и больше узнать, почему оно так работает, посмотрите эту статью.
VFS cache pressure
Приоритет
Если у вас больше одного файла или раздела подкачки, вы должны учитывать присвоение приоритетного значения (от 0 до 32767) для каждой области подкачки. Система будет использовать области подкачки с высоким приоритетом, перед использованием областей с низким приоритетом. Например, если у вас быстрый диск ( /dev/sda ) и медленный ( /dev/sdb ), назначьте высокий приоритет для подкачки расположенной на быстром устройстве. Приоритет может быть назначен в fstab как pri параметр:
Если две или более областей будут иметь одинаковый приоритет и он будет самым высоким из доступным приоритетов, то страницы будут распределяться по кругу между областями.
Использование zswap или zram
Zswap это особенность ядра Linux, обеспечивающая сжатие обратного кэша для страниц подкачки. Она увеличивает производительность и уменьшает операции ввода/вывода. ZRAM создаёт виртуальный сжатый файл подкачки в памяти, как альтернатива файлу подкачки на диске.
Чередование
SWAP — как создать, подключить, очистить и отключить файл подкачки в Linux
Что такое SWAP
SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накопитель), флеш-накопитель или иное вторичное хранилище. Как правило, swapping (свопинг) происходит, когда оперативная память переполнена, и ей для работы требуется дополнительное пространство.
Когда может понадобиться своп
Зачастую, от недостатка свободной памяти первой страдает база данных. Вы можете сталкиваться с проблемами типа:
При подобных симптомах и ошибках может помочь своппинг.
Преимущества SWAP
Сравнение стоимости оперативной памяти и SSD | ||
(цены актуальны на 7 июля 2017 года) | IHOR | FirstVDS |
Оперативная память, в среднем за 1 гигабайт | 100 рублей в месяц | 170 рублей в месяц |
SSD, в среднем за 1 гигабайт | 10 рублей в месяц | 13 рублей в месяц |
Как видно из таблицы, экономия выйдет примерно в 10 раз.
Недостатки SWAP
SWAP — это не замена оперативной памяти, а всего лишь его поддержка.
Как создать и подключить файл подкачки SWAP
Проверка наличия свопа в системе
Для начала, нужно убедиться, что своп ещё не подключен:
Если команда выдала пустой результат или что-то навроде:
— значит, своп, скорее всего отсутствует.
Дополнительно проверим командой:
Если в таблице в строке swap стоит 0, значит своп отсутствует.
Проверка наличия свободного места на диске
Теперь, надо проверить, сколько свободного места есть на диске:
В результате, мы увидим что-то подобное:
Как мы видим, доступно 9 гигабайт дискового пространства — вполне достаточно, чтобы создать своп-файл.
Какого размера создать swap
Исходите из принципа — сколько может понадобиться, столько и выделяйте. Как правило, можно начинать с размера объёма оперативной памяти, либо его удвоенного количества. Например, если у вас в системе 2 гигабайта оперативки, своп можно сделать размером 2-4 гигабайта, как правило, этого должно хватать. Но, Вы можете скорректировать его размер под себя.
Создание файла SWAP
Допустим, мы хотим создать swap-файл размером 4 гигабайта.
Далее, здесь существует 2 подхода, традиционный медленный и новый быстрый:
Быстрый способ Используем fallocate :
Синтаксис команды простой:
Будьте очень внимательны с синтаксисом команды, потому что если, например, ошибиться с определением пути для of= (куда сохранять файл), можно повредить данные на диске.
Теперь, когда файл создан, проверим результат:
В результате увидим:
-rw-r—r— 1 root root 4.0G Jul 07 16:16 /swapfile
Как видим, файл создался верно и с нужным объёмом.
Как подключить SWAP файл
Для начала, ограничим права доступа к вновь созданному файлу.
Предоставление другим пользователям возможности читать или писать в этот файл будет представлять собой огромный риск для безопасности, поэтому ограничение командой ниже строго обязательно:
В результате, мы должны увидеть подобное:
-rw——- 1 root root 4.0G Jul 07 16:16 /swapfile
Права прописаны верно.
Теперь нужно сделать из swapfile файл подкачки:
В результате, увидим примерно следующее:
Setting up swapspace version 1, size = 4193300 KiB
no label, UUID=e5f3e9cf-c1a9-4ed4-b8ab-711b6a7d6544
Теперь, файл готов в роли свопа. Подключим его к системе:
Если на данном этапе выходит похожая ошибка, значит, скорее всего, своп запрещено подключать в систему. Такое ограничение часто ставят на VDS с виртуализацией OpenVZ. Рекомендую использовать IHOR, сервера от 100 рублей в месяц и виртуализация KVM позволяют включать SWAP.
Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:
Своп также будет виден в стандартных командах:
Всё, теперь точно, своп в системе готов и будет использоваться при необходимости.
Добавление свопа в автозагрузку
Чтобы при перезагрузке сервера своп автоматически подтягивался в систему, нужно прописать его в /etc/fstab :
Теперь система знает, где и как при перезагрузке искать и подключать своп.
Проверить, подключен ли своп в автозагрузке, можно с помощью редактора:
Дополнительные вопросы
Как очистить SWAP в Linux
Вообще, это делается с помощью отключения и включения свопа.
Однако, я не рекомендую прибегать к этому способу, так как swap просто очищается, а не переносится в ОЗУ, и, в случае наличия данных системных процессов, система может стать недоступна.
Настройка и оптимизация файла подкачки Windows 7
Файл подкачки или иначе своп-файл (swap-file), является виртуальной памятью, располагающейся на одном из жёстких дисков, и представляет собой «продолжение» физической оперативной памяти (ОЗУ). Если при работе какого-либо приложения ему не хватает объёма установленного ОЗУ, то Windows 7 использует своп-файл для хранения данных приложения, то есть производит запись в него и чтение из него данных, которые не поместились в ОЗУ. Этот процесс записи и чтения носит название свопинга. В Windows 7 этот файл имеет строго определённое имя pagefile.sys, которое нельзя изменить.
При своей установке Windows 7 самостоятельно определяет необходимый размер своп-файла и размещает его на системном разделе жёсткого диска. Часто бывает так, что подобное поведение системы относительно размеров и размещения этого файла не даёт максимального быстродействия компьютера. Поэтому пользователю приходится самому настраивать параметры pagefile.sys и оптимизировать его работу. Постараемся осветить наиболее важные моменты этого процесса.
Оптимальные размеры файла подкачки
Считается, что для получения хорошей производительности требуется задать минимальный объем файла подкачки, равный объёму ОЗУ, а максимальный – вдвое больше. То есть, если компьютер имеет ОЗУ размером 2 Гб, то для своп-файла следует задать минимальный и максимальный размеры, равные 2 и 4 Гб, соответственно. Задание двух этих параметров с различными значениями приводит к тому, что фактический размер этого объекта дисковой памяти изменяется динамически, значит, он будет подвергаться фрагментации и снижать быстродействие. Поэтому многие пользователи задают одинаковые значения. В этом случае pagefile.sys становится статическим (не фрагментируемым), что снижает нагрузку на систему и повышает её быстродействие. Но и в случае динамического своп-файла есть способ устранения снижения производительности, если включить очистку файла при завершении работы операционной системы.
Очистка своп-файла при завершении работы
Для включения очистки файла pagefile.sys при завершении работы операционной системы необходимо в режиме командной строки выполнить команду secpol.msc («Пуск – Выполнить»). В открывшемся окне следует найти элемент «завершение работы: очистка файла подкачки…». Двойным щелчком мыши по нему устанавливаем параметр безопасности в значение «Включён» и нажимаем кнопку «Применить». Эти действия показаны двумя следующими рисунками.
Выбор места расположения своп-файла
Windows 7 допускает располагать своп-файл одновременно на нескольких дисках, но этот вариант производительность системы не увеличивает. Наиболее оптимальным способом по отношению к производительности является один файл подкачки, расположенный на любом разделе жёсткого диска, кроме системного раздела. Для изменения места расположения pagefile.sys требуется вначале его удалить, а затем создать в нужном месте. Для этого щёлкаем «Пуск», а затем «Мой компьютер – Свойства» (правая кнопка мыши). В появившемся окне щёлкаем по «Дополнительные параметры системы».
Откроется окно, в котором нужно выбрать вкладку «Дополнительно».
Здесь в разделе «Быстродействие» нажимаем кнопку «Параметры» и в открывшемся окне снова выбираем вкладку «Дополнительно». Обращаемся к разделу «Виртуальная память» и нажимаем кнопку «Изменить». Открывается окно, позволяющее задавать местоположение и размеры своп-файлов на любых разделах жёстких дисков. Это же окно позволяет как отключить файл подкачки, так и включить его.
Как уже говорилось, по умолчанию Windows 7 размещает pagefile.sys в системном разделе диска, что видно по активированному пункту «Размер по выбору системы». Для переноса файла подкачки на другой раздел, его следует выбрать, активировать пункт «Без файла подкачки» и нажать кнопку «Задать». Этими действиями своп-файл удаляется из своего прежнего местоположения. Иногда после этого появляется сообщение с предупреждением об отключении этого файла или задании слишком малого его объёма, что может привести к возникновению системной ошибки. В этом сообщении следует просто нажать «Да».
Теперь переходим на создание файла в нужном месте. Для этого:
Все эти действия показаны на следующем рисунке.
В приведённом рисунке пользователь создал динамический своп-файл, у которого максимальный размер вдвое превышает минимальный. При необходимости создать статический pagefile.sys, эти параметры должны быть одинаковыми.
Следует отметить, что своп-файл может быть изменён в своих размерах без изменения его местоположения. Для этого все приведённые выше действия нужно выполнить без изменения раздела диска. Разумеется, излишне говорить, что во всех окнах с кнопкой «ОК» её следует нажимать по окончании всех требуемых действий. И ещё: при изменении объёма в сторону уменьшения изменения вступают в действие мгновенно, в противном случае может понадобиться перезагрузка, о чём пользователь получит сообщение, в котором нужно нажать «ОК».
Отключение и включение файла подкачки
Многие пользователи часто прибегают к отключению своп-файла. Это оправдано в тех случаях, когда в компьютере установлено ОЗУ достаточно большого размера. И действительно, зачем тратить время на свопинг и уменьшать быстродействие системы, если можно просто добавить одну или несколько планок ОЗУ. Стоимость ОЗУ в данное время не так уж велика, зато увеличение объёма установленного ОЗУ и отключение файла подкачки может дать существенное увеличение производительности, особенно при не очень мощном компьютере. Отключить своп-файл легко – для этого достаточно удалить его, задав чекбокс «Без файла подкачки», как показано на предпоследнем рисунке.
Включить своп-файл в работу так же просто, как и отключить – достаточно только снять галку «без файла подкачки» и установить «Размер по выбору системы» или задать свои его значения.
Полезные советы
Попытаемся дать несколько рекомендаций от опытных пользователей по настройке и оптимизации файла подкачки. Вот они:
Изменяем файл подкачки(swap file) Windows
Ф айл подкачки – это отдельный файл, который Windows создает на жестком диске, чтобы выгружать туда данные, которые не помещаются в оперативную память. Также виртуальная память (файл подкачки) записывает в себя данные о критической ошибке (дамп), когда процесс непредвиденно завершается.
Процессор работает с ОЗУ в разы быстрее, чем с HDD. Поэтому желательно, чтобы объем ОЗУ был достаточно большой, чтобы система только изредка обращалась к файлу подкачки. Другими словами, чем больше ОЗУ (а это самое главное), и чем меньше файл подкачки – тем быстрее работает компьютер.
Зачем изменять файл подкачки?
Система определяет размер файла подкачки автоматически и в большинстве случаев этого достаточно, но есть некоторые нюансы. Windows обычно выделяет больше мегабайт, чем нужно. Когда оперативная память заполнена полностью, система начинает заполнять файл подкачки. Когда оперативка освобождается – система зачастую продолжает использовать файл подкачки. В результате ОЗУ свободна, и никто ею не пользуется. Поэтому лучше выставлять файл подкачки меньше, чем объем ОЗУ.
Какое это имеет отношение к дамп памяти?
Разный тип дампа памяти (малый дамп, дамп ядра, полный дамп) требует разный объем файла подкачки: малый – 2 Мб, дамп ядра – около 30 % от объема ОЗУ, полный – двойной объем ОЗУ. Скорее всего, вы не собираетесь отправлять файл дампа разработчикам Microsoft, поэтому тип дампа вас не должен беспокоить. Если хотите, можете и вовсе его отключить.
Каким должен быть размер файла подкачки?
Размер файла подкачки зависит от размера ОЗУ. Чем больше оперативной памяти, тем меньше нужно виртуальной памяти. Например:
Как это делать?
1. Заходим в меню «Пуск» и в строке поиска для параметров вводим слово «система». Нажимаем на появившийся пункт «Система».
2. Справа наверху выбираем «Дополнительные настройки системы».
3. В открывшемся окне много вкладок. Нас интересует «Дополнительные». В этой вкладке есть пункт «Быстродействие», а возле него кнопка «Настройки», которую мы и выбираем.
4. Поверх окна «Параметры системы» откроется еще одно – «Параметры быстродействия». Там есть три вкладки, нам нужна «Дополнительно», подпункт – «Виртуальная память», кнопка – «Изменить».
5. Откроется еще и третье окно. Тут уже можно снять автоматическое установления размера файла и установить, какой нужно. Удостоверьтесь, что выбран раздел «С» – где установлена система. К нему система обращается быстрее.