Как настроить пространство подкачки?
Raspberry Pi имеет только 256 МБ ОЗУ, поэтому я хотел бы использовать пространство подкачки (либо на SD-карте, либо на USB-накопителе). Как настроить его?
5 ответов
В Raspbian используется файл dphys-swapfile , который вместо этого является решением для файлов подкачки «стандартного» решения на основе подкачки. Изменить размер свопа намного проще.
Файл конфигурации:
/etc/dphys-swapfile
Содержимое очень простое. По умолчанию мой Raspbian имеет 100 Мбайт свопа:
CONF_SWAPSIZE=100
Если вы хотите изменить размер, вам нужно изменить номер и перезапустить файл dpys-swap:
/etc/init.d/dphys-swapfile restart
Изменить: В Raspbian по умолчанию находится /var /swap, который (конечно) находится на SD-карте. Я думаю, что это плохая идея, поэтому я хотел бы отметить, что файл /etc /dphys-swapfile может иметь следующий параметр: CONF_SWAPFILE = /медиа /btsync /подкачки
Я только проблема с ним, хранилище usb автоматизировано, поэтому потенциальная гонка здесь (automount vs. swapon)
Вы можете легко настроить пространство подкачки. Например, если ваш USB-диск является /dev/sdx
, вы должны использовать (для этого вы должны быть root):
$ mkswap /dev/sdx
$ swapon /dev/sdx
Обратите внимание, что это будет использовать все устройство, и вы, вероятно, потеряете все существующие данные на нем.
Вы также можете создать файл подкачки (используя устройство loop
), например:
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
Если вам больше не нужен файл подкачки (если вы хотите извлечь USB-диск, например), вы должны использовать swapoff <device>
. Это не приведет к сбою системы.
Вы должны быть осторожным, хотя . Карты SD имеют ограниченные пределы чтения /записи, и это сократит срок службы. Если вы используете внешний жесткий диск, вы должны быть в порядке, но он будет очень медленным.
Не делайте этого вообще.
Вы должны не включить swap на малиновом Pi.
Хотя это возможно, это не полезно. Даже на карте SDHC класса 10 это слишком медленно. Также вы сократите срок службы SD-карты.
На любом флеш-накопителе (SD-карте, SDD, USB-накопителях) вы также увидите паузы в системе во время удаления большой группы флеш-блоков.
Возможные исключения:
- Если вы подключаете (магнитный) жесткий диск (хотя адаптер USB-SATA или USB-IDE)
- Если вы используете ZRAM или что-то подобное
Raspbmc использует /etc/init/swap.conf
для настройки swap через /swap-файл. Сначала он проверяет наличие /home/pi/.enable_swap
.
Если вы удалите /home/pi/.enable_swap
, тогда файл подкачки не будет создан, а затем просто заново создайте его с помощью touch /home/pi/.enable_swap
, если вы необходимо включить swap и перезагрузиться.
Жаль, что у Raspberry Pis нет GigaBit Ethernet, но по крайней мере теоретически возможно иметь пространство подкачки на сетевом устройстве - проект сервера терминалов Linux может предлагать его с сервера для клиентов в соответствии с этим в своей вики.
Я нашел тему форума Форума «Совет: обменять nfs ", в котором показано, как кто-то, у кого уже установлены какие-либо монтируемые NFS, использовал файл swap на одном из них и смонтировал его с помощью контура loop (возможно, это необходимо из-за того, что Linux не позволяет использовать монтирование NFS напрямую) , Учитывая, что удаленный файл подкачки будет хранить данные, которые ОС не должен потерять , я бы рассматривал это только для проводной сети Ethernet - беспроводная связь была бы слишком хрупкой ИМХО , Кроме того, конечно, вы не должны позволять удаленному серверу быть отключенным, не отключая своп и не позволяя ему полностью опорожняться первым!