LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

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

Простой пример - на старте запускается какой-то демон. Он проводит какую-то процедуру инициализации и потом переходит в рабочий режим. Во-первых процедура инициализации это сколько-то страниц исполняемого кода, которые уже висят в памяти. Во-вторых демон может на всякий случай оставить какие-то данные в памяти, например чтобы перечитать их при SIGUSR1. В-третьих malloc может не вернуть часть освобождённых страниц операционной системе. Итог один: в памяти есть страницы, которые принадлежат приложению, но которые этому приложению не понадобятся. Если есть своп, то система в какой-то момент выпихнет эти страницы в своп и использует физическую память для чего-то полезного. Если свопа нет, то до выключения компьютера эта память будет хранить де-факто бесполезные данные.

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

Исходная версия Legioner, :

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

Простой пример - на старте запускается какой-то демон. Он проводит какую-то процедуру инициализации и потом переходит в рабочий режим. Во-первых процедура инициализации это сколько-то страниц исполняемого кода, которые уже висят в памяти. Во-вторых демон может на всякий случай оставить какие-то данные в памяти, например чтобы перечитать их при SIGUSR1. В-третьих malloc может не вернуть часть освобождённых страниц операционной системе. Итог один: в памяти есть страницы, которые принадлежат приложению, но которые этому приложению не понадобятся. Если есть своп, то система в какой-то момент выпихнет эти страницы в своп и использует физическую память для чего-то полезного. Если свопа нет, то до выключения компьютера эта память будет хранить де-факто бесполезные данные.

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