Raspberry Pi має лише 256 Мб оперативної пам’яті, тому я хотів би використовувати місце для обміну (або на SD-картці, або на USB-накопичувачі). Як це налаштувати?
Raspberry Pi має лише 256 Мб оперативної пам’яті, тому я хотів би використовувати місце для обміну (або на SD-картці, або на USB-накопичувачі). Як це налаштувати?
Відповіді:
Raspbian використовує dphys-swapfile , який є рішенням на основі файлів своп-файлів замість "стандартного" рішення на основі swap-розділів. Набагато простіше змінити розмір свопу.
Файл конфігурації:
/etc/dphys-swapfile
Зміст дуже простий. За замовчуванням мій Raspbian має 100MB свопу:
CONF_SWAPSIZE=100
Якщо ви хочете змінити розмір, вам потрібно змінити число та перезапустити dphys-swapfile:
/etc/init.d/dphys-swapfile restart
Редагувати: На Raspbian типовим місцем є / var / swap, який (звичайно) знаходиться на SD-карті. Я думаю, що це погана ідея, тому я хотів би зазначити, що / etc / dphys-swapfile також може мати наступний варіант: CONF_SWAPFILE = / media / btsync / swapfile
У мене проблема лише в цьому, зберігання usb є автоматизованим, тому потенційна гонка тут (automount vs. swapon)
/var/swap
поганої ідеї?
Ви можете налаштувати простір для заміни досить просто. Наприклад, якщо ваш USB-накопичувач /dev/sdx
, ви б використовували (для цього ви повинні мати root):
$ mkswap /dev/sdx
$ swapon /dev/sdx
Зауважте, що для цього використовується весь пристрій, і ви, ймовірно, втратите всі наявні дані на ньому.
Ви також можете створити файл swap (за допомогою 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
Коли вам більше не потрібен файл swap (якщо ви хочете, наприклад, вийняти USB-накопичувач), потрібно скористатися swapoff <device>
. Якщо цього не зробити, можливо, це призведе до збою системи.
Але ви повинні бути обережнішими . SD-картки мають обмежені обмеження читання / запису, і це скоротить термін їх служби. Якщо ви використовуєте зовнішній жорсткий диск, вам слід добре, але це буде дуже повільно.
mkswap
їх кореневого розділу. Я думаю sdx
, це хороша умова.
Не робіть цього взагалі.
Ви повинні НЕ включити своп на Raspberry Pi.
Хоча це можливо, це не корисно. Навіть на SDHC-класі 10 класу вона занадто повільна. Також ви скоротите термін служби SD-карти.
На будь-якому пристрої зберігання даних на базі флеш-пам'яті (SD-карта, SDD, USB-накопичувачі) ви також зможете побачити паузи в масштабах системи, коли велика група флеш-блоків стирається.
Можливі винятки:
Raspbmc використовує /etc/init/swap.conf
для налаштування файлів swap через / swap. Він спочатку перевіряє наявність /home/pi/.enable_swap
.
Якщо ви видаляєте, /home/pi/.enable_swap
тоді файл swap не створюється, а потім просто відтворюйте його, touch /home/pi/.enable_swap
якщо вам потрібен увімкнути та перезавантажити.
Шкода, що у Raspberry Pis немає GigaBit Ethernet, але принаймні теоретично можливо розмістити простір на мережевому пристрої - Linux Terminal Server Project може запропонувати його з сервера клієнтам відповідно до цього пункту на їхній вікі .
Я знайшов тему форуму фонду "Порада: обмінятись на nfs", яка показує, як хтось, у якого вже були якісь кріплення NFS, використовував swapfile на одному з них і монтував його через кріплення на циклі (можливо, тому що Linux не дозволяє NFS кріплення, яке слід використовувати безпосередньо). З огляду на , що віддалений своп-файл буде містити дані про те , що операційна система не повинна втратити я б розглядати тільки це для провідної мережі Ethernet - бездротовий зв'язок буде занадто тендітним ІМХО. Крім того, ви, звичайно, не повинні дозволяти відключити віддалений сервер, не вимикаючи своп і не дозволяючи йому спочатку повністю спорожнятися!