5. Расширение Оперативной памяти Omega 2(+) (swap-файл, файл подкачки)

Alexey
By Alexey in Уроки,
Здравствуйте. Это урок по созданию файла подкачки (Swap-файл). Помог мне с решением основной проблемы мой коллега администратор.   Ссылки на первоисточник: Extending the Omega’s Available Memory https://docs.onion.io/omega2-docs/extending-omega-memory.html   Железо использовал следующее: Omega 2+, Arduino Dock R2, microSD карта 32 GB SanDisc (вроде 4-го класса).   Примечание: Если вы расширяли память Omega 2(+) при помощи USB флэшки, то вам в командах и тексте ниже необходимо заменить все SD-P1 на USB-A1 и все mmcblk0p1 на sda1   Итак, после расширения памяти Оmega 2 с помощью MicroSD флешки и настройки автоматического монтирования этой флешки после перезапуска (по статье на этом форме) необходимо создать swap-файл и настроить его автоматическую активацию при загрузке Операционной Системы. Для этого нам сначала нужно определиться с размером swap-файла. Я сделал его размером 1024 Мегабайта. Знаю много, но у меня флешка на 32 GB поэтому я решил, что не повредит  Вы же можете сделать как в оригинальной статье размером 256 MB. Теперь нам нужно установить пакеты swap-utils и block-mount, для этого вводим команды: opkg update opkg install swap-utils block-mount После этого создаем сам swap-файл. ВНИМАНИЕ!!! После ввода описанной ниже команды НИ В КОЕМ СЛУЧАЕ не выключайте вашу Omega 2(+) и не трогайте ее до самого окончания выполнения команды!!! Если вы хотите сделать файл подкачки размером 1024 MB то в консоль введите следующую команду: dd if=/dev/zero of=/tmp/mounts/SD-P1/swap.page bs=1M count=1024 Если же вы хотите сделать файл подкачки 256 MB, то в консоль введите следующую команду: dd if=/dev/zero of=/tmp/mounts/SD-P1/swap.page bs=1M count=256   Теперь, когда Swap-файл был создан, нам нужно сказать Linux, чтобы он установил этот файл, как область подкачки, для этого вводим в консоль следующую команду: mkswap /tmp/mounts/SD-P1/swap.page   Далее нам необходимо настроить автоматическую активацию файла свопинга (swap-файла) при загрузке Операционной Системы (ОС). Для этого открываем Editor (редактор) Omega 2 (+), находим папку etc, заходим в нее и находим в ней файл rc.local. Открываем файл rc.local и после строк:  # Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. (Если у вас нет этих строк, не страшно, главное перед строкой exit 0) но перед строкой: exit 0   Вносим следующие строки: ### activate the swap file on an external USB drive sleep 20  SWAP_FILE="/tmp/mounts/SD-P1/swap.page" if [ -e "$SWAP_FILE" ]; then         /usr/sbin/swapon $SWAP_FILE fi И сохраняем файл.   Примечание: Лично в моем случае, хватает паузы и на 10 секунд (строка sleep 20), но на всякий случай я поставил паузу в 20 секунд. Пауза обязательна, поскольку выяснилось, что без паузы команда на активацию swap-файла проходит быстрее чем Операционная Система успевает монтировать саму флешку (возможно потому, что моя флешка 4-го класса, т.е. медленная). Теперь необходимо перезагрузить нашу Omega 2(+) для того, чтобы проверить активируется ли swap-файл при загрузке Операционной Системы, для этого вводим в консоль следующую команду: reboot   Какое-то время светодиод на самой Omegа 2(+) будет гореть, потом начнет мигать и после того, как он перестанет мигать и заного начнет гореть, нужно ввести команду: free    После вы получите ответ, что-то вроде этого: root@Omega-CC39:~# free              total       used       free     shared    buffers     cached Mem:        125748      32760      92988         88       5416      10468 -/+ buffers/cache:      16876     108872 Swap:      1048572          0    1048572   И если в строке Swap: у вас не три ноля а, что-то вроде этого: Swap:      1048572          0    1048572 То вы все сделали правильно и файл подкачки (swap-файл) у вас активируется при загрузке.
  • 0 comments