5. Расширение Оперативной памяти Omega 2(+) (swap-файл, файл подкачки)
Здравствуйте.
Это урок по созданию файла подкачки (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
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign In Now