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