• Добавление файла подкачки в Ubuntu

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

    Создание файла

    sudo dd if=/dev/zero of=/swap bs=1G count=4

    Выглядит как достаточно непонятная команда. Рассмотрим параметры подробно:

    • if, Input File: Источник данных для файла: а нашем случае он будет полностью заполнен нулевыми байтами (ASCII NUL, 0x00). Не то чтобы нам это было важно, просто это просто и быстро; 
    • of, Output File: Вывод данных. Здесь это простой файл;
    • bs, Bytes: Количество байт для одной операции записи;
    • count: Количество блоков заданного размера;

    Есть альтернативный вариант, если вы торопитесь:

    sudo fallocate -l 4G /swap

    Итого, мы получим 4 гигабайта чистого счастья (1024 раза по 524288 килобайт).

    Разметка файла подкачки

    Время подготовить заготовку файла для высокой миссии.

    mkswap /swap

    Установка прав доступа

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

    chown root:root /swap
    chmod 0600 /swap

    Активация файла подкачки

    Пришло время потянуть за главный рычаг и включить файл подкачки.

    swapon /swap

    Почти всё. Осталось только сохранить достигнутые успехи на века: каждый раз после перезагрузки вводить какие-то команды совершенно непрактично.

    nano /etc/fstab
    /swap swap swap defaults 0 0

    Теперь при загрузке системы виртуальная память включится сама.

    free -m

    Если все прошло хорошо, мы увидим эффект подключения файла подкачки.