Хоть Omega2 поставляется с 64 МБ ОЗУ, а Omega2 + с 128 МБ, вы можете оказаться в ситуации, когда этого недостаточно. Из этого материала Вы узнаете, как использовать USB-накопитель и файл подкачки, чтобы увеличить объем памяти, доступный для Omega.
Файл подкачки - это специальный файл на диске или флэш-накопителе, который используется операционной системой для хранения информации, не используемой в данный момент в оперативной памяти устройства. Это позволяет системе и программам использовать больше памяти, чем просто используя физически доступную оперативную память.
Поэтому файлы подкачки реализуют виртуальную память. Это также известно как подкачка страниц памяти и используется во всех современных настольных и мобильных операционных системах для управления и оптимизации использования памяти.
Для получения дополнительной информации ознакомьтесь со статьей Википедии о подкачке страниц.
Давайте приступим к настройке собственного файла подкачки и расширению доступной памяти на Omega!
Шаг 1: Установка необходимых пакетов
Сначала мы установим пакеты swap-utils и block-mount, которые позволят нам создавать и использовать файлы подкачки:
opkg update
opkg install swap-utils block-mount
Шаг 2: USB-накопитель
Подключите USB-накопитель. По умолчанию Omega автоматически подключает любые USB-устройства хранения данных.
Если вас интересует автоматическая установка, обратитесь к руководству USB Storage за подробностями.
Предположим, что USB-устройство было подключено в /tmp/mounts/USB-A1.
Шаг 3: Создание файла подкачки на USB-накопителе
Теперь нам нужно создать файл на USB-накопителе, который будет использоваться в качестве файла подкачки с помощью утилиты dd. Эта утилита предназначена для преобразования, копирования и записи файлов. Она очень мощная и запись в непредусмотренное место может серьезно повредить систему.
Будьте предельно осторожны при использовании dd!
Запустим следующую команду:
dd if=/dev/zero of=/tmp/mounts/USB-A1/swap.page bs=1M count=256
Эта команда создаст файл на USB-накопителе размером 256 МБ со всеми его байтами, инициализированными в 0x00. Это файл, который будет использоваться в качестве файла подкачки, поэтому мы будем эффективно расширять нашу оперативную память на 256 МБ.
Давайте пройдемся по каждой части команды:
Шаг 4. Настройка файла подкачки
Теперь, когда файл подкачки был создан, мы должны указать Linux настроить этот файл как область подкачки:
mkswap /tmp/mounts/USB-A1/swap.page
Запуск команды free покажет, что ничего не изменилось:
root@Omega-1302:~# free
total used free shared buffers
Mem: 61152 42528 18624 96 11648
-/+ buffers: 30880 30272
Swap: 0 0 0
Шаг 5: Активация файла подкачки
Чтобы активировать файл подкачки и фактически расширить нашу доступную память:
swapon /tmp/mounts/USB-A1/swap.page
Теперь, когда мы снова запустим free, мы увидим, что строка swap заполнена:
root@Omega-1302:~# free
total used free shared buffers
Mem: 61152 42644 18508 96 11648
-/+ buffers: 30996 30156
Swap: 262140 0 262140
Единицы, отображаемые командой free, - это килобайты. Общий размер раздела подкачки составляет 262140 килобайт, что эквивалентно 256 МБ, поэтому можно подтвердить, что файл подкачки активен и используется в качестве памяти.
Примечание. После перезагрузки Omega USB-подкачка больше не будет использоваться. Шаг 5 нужно будет повторять после каждой загрузки, если не будет создан какой-либо автоматический метод активации страницы подкачки…
К счастью для вас, известно, как это сделать!
Немного проблематично, что файл подкачки нужно активировать вручную после каждой загрузки, поэтому давайте автоматизируем это.
Автоматически монтировать USB с помощью Block + Fstab
Чтобы автоматически активировать файл подкачки, нужно настроить автомонтирование для USB, используя метод, отличный от инструмента по умолчанию на Omega2. Файл /etc/fstab содержит информацию о том, как автоматизировать монтирование разделов (например, USB-накопитель).
Убедитесь, что USB-накопитель подключен к Omega. Чтобы Omega обнаружил информацию для диска и сохранил ее в конфигурации fstab, запустите следующую команду:
block detect > /etc/config/fstab
Теперь у Omega есть запись fstab в uci для этого конкретного USB-накопителя. Давайте обновим запись uci, чтобы USB-накопитель автоматически смонтировался.
Во-первых, посмотрите текущую конфигурацию, запустив uci show fstab. Команда выведет что-то вроде следующего:
fstab.@global[0]=global
fstab.@global[0].anon_swap=‘0‘
fstab.@global[0].anon_mount=‘0‘
fstab.@global[0].auto_swap=‘1‘
fstab.@global[0].auto_mount=‘1‘
fstab.@global[0].delay_root=‘5‘
fstab.@global[0].check_fs=‘0‘
fstab.@mount[0]=mount
fstab.@mount[0].target=‘/mnt/sda1‘ // we‘ll use this path for automounting
fstab.@mount[0].uuid=‘
fstab.@mount[0].enabled=‘0‘
Теперь давайте включим устройство mount [0]:
uci set fstab.@mount[0].enabled=‘1‘
uci commit fstab
Убедимся, что fstab включен
На всякий случай, давайте включим fstab при загрузке:
/etc/init.d/fstab enable
block mount
Теперь Omega знает, как смонтировать ваш USB-диск в /mnt/sda1. Запишите это или запустите uci show fstab, чтобы снова увидеть эту информацию.
Перезапуск fstab
Если вам нужно изменить конфигурацию fstab, используйте следующую команду, чтобы изменения вступили в силу:
block umount;block mount
Теперь, когда Omega автоматически монтирует USB-накопитель, нужно указать ему активировать файл подкачки при запуске. Существует файл /etc/rc.local, в который можно поместить команды, которые будут запускаться автоматически после каждой загрузки. Это идеально подходит для нашей задачи.
См. статью запуск команд при загрузке для получения дополнительной информации.
Нужно добавить код, чтобы Omega нашла файл swap.page, созданный ранее, и активировала его. В нашем примере USB-накопитель будет смонтирован в /mnt/sda1. Добавьте в файл /etc/rc.local:
### activate the swap file on an external USB drive
SWAP_FILE="/mnt/sda1/swap.page"
if [ -e "$SWAP_FILE" ]; then
swapon $SWAP_FILE
fi
, где SWAP_FILE - полный путь к swap.page.
Убедитесь, что этот код выше строки exit 0, которая уже существует в файле!
После добавления этого кода перезагрузите Omega с подключенным USB-накопителем. Запустите free, чтобы убедиться, что файл подкачки действительно используется:
root@Omega-1302:~# free
total used free shared buffers
Mem: 61152 42644 18508 96 11648
-/+ buffers: 30996 30156
Swap: 262140 0 262140
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru