Как настроить пространство подкачки?

Raspberry Pi имеет только 256 МБ ОЗУ, поэтому я хотел бы использовать пространство подкачки (либо на SD-карте, либо на USB-накопителе). Как настроить его?

98 голосов | спросил Tibor 13 J0000006Europe/Moscow 2012, 01:32:04

5 ответов


103

В 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)

ответил asalamon74 15 AM00000070000004931 2012, 07:52:49
34

Вы можете легко настроить пространство подкачки. Например, если ваш 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 имеют ограниченные пределы чтения /записи, и это сократит срок службы. Если вы используете внешний жесткий диск, вы должны быть в порядке, но он будет очень медленным.

ответил Tibor 13 J0000006Europe/Moscow 2012, 01:37:05
32

Не делайте этого вообще.

Вы должны не включить swap на малиновом Pi.

Хотя это возможно, это не полезно. Даже на карте SDHC класса 10 это слишком медленно. Также вы сократите срок службы SD-карты.

На любом флеш-накопителе (SD-карте, SDD, USB-накопителях) вы также увидите паузы в системе во время удаления большой группы флеш-блоков.

Возможные исключения:

  • Если вы подключаете (магнитный) жесткий диск (хотя адаптер USB-SATA или USB-IDE)
  • Если вы используете ZRAM или что-то подобное
ответил finnw 19 J0000006Europe/Moscow 2012, 04:49:30
4

Raspbmc использует /etc/init/swap.conf для настройки swap через /swap-файл. Сначала он проверяет наличие /home/pi/.enable_swap.

Если вы удалите /home/pi/.enable_swap, тогда файл подкачки не будет создан, а затем просто заново создайте его с помощью touch /home/pi/.enable_swap, если вы необходимо включить swap и перезагрузиться.

ответил valentt 26 FebruaryEurope/MoscowbTue, 26 Feb 2013 00:49:52 +0400000000amTue, 26 Feb 2013 00:49:52 +040013 2013, 00:49:52
4

Жаль, что у Raspberry Pis нет GigaBit Ethernet, но по крайней мере теоретически возможно иметь пространство подкачки на сетевом устройстве - проект сервера терминалов Linux может предлагать его с сервера для клиентов в соответствии с этим в своей вики.

Я нашел тему форума Форума «Совет: обменять nfs ", в котором показано, как кто-то, у кого уже установлены какие-либо монтируемые NFS, использовал файл swap на одном из них и смонтировал его с помощью контура loop (возможно, это необходимо из-за того, что Linux не позволяет использовать монтирование NFS напрямую) , Учитывая, что удаленный файл подкачки будет хранить данные, которые ОС не должен потерять , я бы рассматривал это только для проводной сети Ethernet - беспроводная связь была бы слишком хрупкой ИМХО , Кроме того, конечно, вы не должны позволять удаленному серверу быть отключенным, не отключая своп и не позволяя ему полностью опорожняться первым!

ответил SlySven 29 TueEurope/Moscow2015-12-29T00:51:46+03:00Europe/Moscow12bEurope/MoscowTue, 29 Dec 2015 00:51:46 +0300 2015, 00:51:46

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132