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

Содержание

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

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

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

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

В системе Windows виртуальная память размещена только в отдельном файле — pagefile.sys (для Windows 2000 и выше) и win386.swp (для Windows 9x).

Для любой операционной системы, если используется спящий режим (Hebernation), размер виртуальной памяти следует делать не меньше объема оперативной памяти. В общих случаях наиболее эффективно использовать размер виртуальной памяти кратный 4 (1024 Мб, 2048 Мб и т.д.), так как ядро системы производит обмен страницами с памятью по 4 Кб в каждой. Размер виртуальной памяти легче посчитать от объема оперативной памяти *2, *3. Область подкачки стоит размещать на самом быстром жестком диске ближе к началу.

Хочу обратить Ваше внимани, что приведенные ниже инструкции касается только изменения размера ФАЙЛА ВИРТУАЛЬНОЙ ПАМЯТИ, а не изменение размера отдельной директории SWAP.

Ниже приведены пошаговые инструкции, которые позволят создать, изменить и удалить файл SWAP.

  1. Создаем файл необходимого размера для swap области, где /home/swap-tmp — это имя и путь файла, а count=1024K его размерв, в данном случае — 1024 Мб):

Редактировать файл fstab можно самостоятельно или командой, которая добавляет в конец файла fstab строку /home/swap-tmp swap swap defaults 0 0:

  1. Просматриваем все объекты, которые используются для размещения виртуальной памяти

Если Вы раньше добавляли строчку в fstab, для автоматической загрузки SWAP файла при старте операционной системы, то следует ее удалить. Выводим файл /etc/fstab для редактирования на экран:

Действия по редактирование объема SWAP файла сводятся к удалению уже созданного файла SWAP и созданию нового файла требуемого размера. То есть нужно сначало сделать пункт 3, а после пункт 2.

  1. linux’оид#
    3 Август, 01:01

А что насчёт отдельных разделов? С ними как быть?
Или тоже достаточно удалить раздел и стереть его из fstab?

С разделами все так же, только следите, чтобы SWAP все же остался в каком-то виде. Я не знаю как будет работать Linux без SWAP , не даром, при установке ОС, объязательные разделы: / и своп

Линукс без SWAP работает нормально, если есть около 2Гб Ram и комп используется как десктоп. Сам только что создал раздел свопа только ради ресурсоемкого приложения.

Amiro: Линукс без SWAP работает нормально, если есть около 2Гб Ram и комп используется как десктоп. Сам только что создал раздел свопа только ради ресурсоемкого приложения.

Ну, то что Linux работает без Swap – это точно, но как это скажется на производительность остается вопросом.

P.S. В вашем случае я бы создал скрипт, который создает swap и запускает ресурсоемкое приложение. После завершения работы этого приложение удаляется swap файл. И повесил бы его на кнопку запуска приложения.

Mut@NT
P.S. В вашем случае я бы создал скрипт, который создает swap и запускает ресурсоемкое приложение. После завершения работы этого приложение удаляется swap файл. И повесил бы его на кнопку запуска приложения.

Файл свапа на машине с 2-мя гигами оперативы размерами в 4 гига около двух минут создаеться, устанеш ждать загрузку своего приложения

Spec: Файл свапа на машине с 2-мя гигами оперативы размерами в 4 гига около двух минут создаеться, устанеш ждать загрузку своего приложения

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

Mut@NT: P.S. В вашем случае я бы создал скрипт, который создает swap и запускает ресурсоемкое приложение. После завершения работы этого приложение удаляется swap файл. И повесил бы его на кнопку запуска приложения.

Вот только никакой гарантии что это будет всегда работать -нет.

Может найтись такая программа(не ваше ресурсоёмкое приложение, а иная) , которая при недостатке памяти сбрасывает данные на диск(если malloc возвращает NULL ), а если память есть, то хранит их в памяти. в результате после отработки вашего приложения для которого создавался своп, в нём может оказаться куча данных других приложений которые просто не влезут в память при вытеснении их из свопа. Что начнёт после этого происходить с системой – тема для отдельного разговора. Если своп у вас есть, то его можно только наращивать, но никак не уменьшать , чтоб это было безопасно

Вы правы. В статье отражено лишь то, что это в Linux возможно

Куча ошибок в тексте.
> или добавить строчка для автоматической
или добавить строчку для автоматической

> которая будет используется ядром
которая будет использоваться ядром

Прошу прощения за возможно дилетантское высказывание, просто я лучше знаю Solaris. По вопросу производительности и объёма SWAP , у меня опыт такой. SWAP хотят некоторые приложения, например Oracle, в то же время подкачка это всегда узкое место (если только диск не SSD ). По этому если есть возможность вообще без подкачки, то производительность максимальная, с другой стороны по опыту и рекомендациям вендоров при озу до 2Гб размер SWAP =озу, до 4Гб 50% озу, до 1Тб где то от 16 до 32Гб, свыше терабайта можно давать 64Гб. Опять же зависит от приложения, например SAP требует чтобы при 32Гб памяти SWAP был не менее 20Гб.

Значек # подразумевает что sudo не нужно, ошибка в # sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K; правильно: # dd if=/dev/zero of=/home/swap-tmp bs=1024K count=1024

В последних выпусках Ubuntu вместо традиционного раздела подкачки используется файл подкачки. Файл подкачки – это просто файл под root, который используется как подкачка для распределения нагрузки на оперативную память.

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

Давайте посмотрим, как изменить размер пространства подкачки в Ubuntu.

Увеличьте размер swap в Ubuntu

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

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

Теперь посмотрим, как увеличить файл подкачки. Прежде всего, убедитесь, что у вас есть файл подкачки в вашей системе.

Он покажет текущий доступный своп. Если вы видите файл типа, это означает, что вы используете файл подкачки.

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

Вы можете отключить данный файл подкачки с помощью этой команды. Команда не производит никакого вывода.

Теперь используйте команду fallocate в Linux, чтобы изменить размер файла подкачки.

Убедитесь, что вы пометили этот файл как файл подкачки:

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

Как только вы это сделаете, включите файл подкачки:

Вот и все. Вы только что увеличили размер подкачки в Ubuntu с 2 ГБ до 4 ГБ. Вы можете проверить размер свопа, используя команду free или команду swapon –show.

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

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

Понравилась статья? Пожалуйста, поделитесь им и помогите нам расти

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

Изменить размер файла подкачки достаточно просто. Для начала необходимо определить его имя. Посмотрим на содержание fstab.

Последняя строчка показывает, что подкачка смонтирован в адрес /swapfile . Посмотреть размер файла можно при помощи du.

Кроме этого состояние подкачки можно увидеть в системном мониторе top.

На снимке экрана выше видно, что подкачка на данный момент не используется, а размер свопа меньше размера оперативной памяти компьютера, ну и как следствие в потенциале я получаю проблему со спящим режимом. А это значит, что размер файла подкачки желательно увеличить до 2ГиБ — это размер оперативной памяти моего компьютера. Поступаю следующим образом. Отключаю подкачку.

Обязательно следует убедиться, что подкачка отключена, для этого опять понадобится top.

На снимке экрана выше видно, что в строчке КиБ Swap результаты обнулились. Удаляю файл из файловой системы.

Создаю новый файл с тем же именем и в том же адресе, но другого размера.

Изменяю вновь созданному файлу атрибуты доступа.

Создаю пространство подкачки в созданном только что файле.

И иду в top посмотреть на результат.

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