Raspberry Pi имеет только 256 МБ ОЗУ, поэтому я хотел бы использовать пространство подкачки (либо на SD-карте, либо на USB-накопителе). Как мне это настроить?
Raspberry Pi имеет только 256 МБ ОЗУ, поэтому я хотел бы использовать пространство подкачки (либо на SD-карте, либо на USB-накопителе). Как мне это настроить?
Ответы:
Raspbian использует dphys-swapfile , который является решением на основе файла подкачки вместо «стандартного» решения на основе раздела подкачки. Гораздо проще изменить размер свопа.
Файл конфигурации:
/etc/dphys-swapfile
Содержание очень просто. По умолчанию мой Raspbian имеет 100 МБ подкачки:
CONF_SWAPSIZE=100
Если вы хотите изменить размер, вам нужно изменить номер и перезапустить dphys-swapfile:
/etc/init.d/dphys-swapfile restart
Изменить: В Raspbian расположение по умолчанию / var / swap, которое (конечно) находится на SD-карте. Я думаю, что это плохая идея, поэтому я хотел бы отметить, что / etc / dphys-swapfile также может иметь следующую опцию: CONF_SWAPFILE = / media / btsync / swapfile
У меня только проблемы с этим, USB-хранилище автоматически смонтировано, так что потенциальная гонка здесь (автомонта против swapon)
/var/swap
является плохой идеей?
Вы можете настроить пространство подкачки довольно просто. Например, если у вас есть 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-карты имеют ограниченные пределы чтения / записи, и это сократит срок их службы. Если вы используете внешний жесткий диск, у вас все будет хорошо, но это будет очень медленно.
mkswap
на своем корневом разделе. Я думаю, что sdx
это хорошая конвенция.
Не делай этого вообще.
Вы не должны включать своп на Raspberry Pi.
Хотя это возможно, это не полезно. Даже на SDHC-карте класса 10 она слишком медленная. Также вы уменьшите срок службы SD-карты.
На любом флэш-накопителе (SD-карта, SDD, флэш-накопитель USB) вы также можете увидеть паузы в масштабе всей системы, пока стирается большая группа флэш-блоков.
Возможные исключения:
Raspbmc использует /etc/init/swap.conf
для настройки своп через файл / swap. Сначала проверяется наличие /home/pi/.enable_swap
.
Если вы удалите, /home/pi/.enable_swap
то файл подкачки не будет создан, а затем просто создайте его заново, touch /home/pi/.enable_swap
если вам нужно включить своп и перезагрузиться.
Жаль, что Raspberry Pis не имеет GigaBit Ethernet, но теоретически возможно иметь пространство подкачки на сетевом устройстве - Linux Terminal Server Project может предложить его с сервера клиентам в соответствии с этим пунктом в их вики ,
Я нашел тему Foundation Forum «Совет: Swap over nfs», в которой показано, как кто-то, у кого уже есть некоторые монтируемые NFS, использовал swapfile на одном из них и монтировал его через монтирование (возможно, потому что Linux не позволяет Монтирование NFS для непосредственного использования). Учитывая, что удаленный файл подкачки будет содержать данные, которые ОС не должна потерять, я бы рассмотрел это только для проводной сети Ethernet - беспроводное соединение было бы слишком хрупким ИМХО. Кроме того, конечно, вы не должны позволять отключать удаленный сервер, не отключив своп и не позволив ему полностью опустошиться!