Raspberry Pi chỉ có 256 MB RAM, vì vậy tôi muốn sử dụng không gian trao đổi (trên thẻ SD hoặc bộ lưu trữ USB kèm theo). Làm thế nào để tôi thiết lập nó?
Raspberry Pi chỉ có 256 MB RAM, vì vậy tôi muốn sử dụng không gian trao đổi (trên thẻ SD hoặc bộ lưu trữ USB kèm theo). Làm thế nào để tôi thiết lập nó?
Câu trả lời:
Raspbian sử dụng dphys-exchangefile , đây là một giải pháp dựa trên tệp hoán đổi thay vì giải pháp dựa trên phân vùng trao đổi "tiêu chuẩn". Nó dễ dàng hơn nhiều để thay đổi kích thước của trao đổi.
Tệp cấu hình là:
/etc/dphys-swapfile
Nội dung rất đơn giản. Theo mặc định, Raspbian của tôi có 100 MB trao đổi:
CONF_SWAPSIZE=100
Nếu bạn muốn thay đổi kích thước, bạn cần sửa đổi số và khởi động lại dphys-exchangefile:
/etc/init.d/dphys-swapfile restart
Chỉnh sửa: Trên Raspbian, vị trí mặc định là / var / exchange, dĩ nhiên là trên thẻ SD. Tôi nghĩ rằng đó là một ý tưởng tồi, vì vậy tôi muốn chỉ ra rằng, / etc / dphys-exchangefile cũng có thể có tùy chọn sau: CONF_SWAPFILE = / media / btsync / exchangefile
Tôi chỉ có vấn đề với nó, bộ lưu trữ usb được tự động hóa, vì vậy một cuộc đua tiềm năng ở đây (automount so với hoán đổi)
/var/swap
là một ý tưởng tồi?
Bạn có thể thiết lập không gian hoán đổi khá đơn giản. Ví dụ: nếu ổ USB của bạn là /dev/sdx
, bạn sẽ sử dụng (bạn phải root cho cái này):
$ mkswap /dev/sdx
$ swapon /dev/sdx
Lưu ý rằng điều này sẽ sử dụng toàn bộ thiết bị và bạn có thể sẽ mất tất cả dữ liệu hiện có trên thiết bị.
Bạn cũng có thể tạo một tệp hoán đổi (bằng cách sử dụng một loop
thiết bị) như thế này:
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
Khi bạn không còn cần tệp hoán đổi (nếu bạn muốn đẩy ổ USB chẳng hạn), bạn phải sử dụng swapoff <device>
. Không làm như vậy có thể sẽ dẫn đến sự cố hệ thống.
Bạn nên cẩn thận mặc dù . Thẻ SD có giới hạn đọc / ghi hạn chế và nó sẽ rút ngắn tuổi thọ của nó. Nếu bạn đang sử dụng ổ cứng ngoài, bạn sẽ ổn, nhưng nó sẽ rất chậm.
mkswap
trên phân vùng gốc của họ. Tôi nghĩ sdx
là một quy ước tốt.
Đừng làm điều này cả.
Bạn không nên kích hoạt trao đổi trên Raspberry Pi.
Mặc dù có thể, nó không hữu ích. Ngay cả trên thẻ SDHC lớp 10, nó cũng quá chậm. Ngoài ra, bạn sẽ giảm tuổi thọ của thẻ SD.
Trên bất kỳ thiết bị lưu trữ dựa trên flash nào (thẻ SD, SDD, ổ USB), bạn cũng có thể thấy các khoảng dừng trên toàn hệ thống trong khi một nhóm lớn các khối flash bị xóa.
Trường hợp ngoại lệ có thể:
Raspbmc sử dụng /etc/init/swap.conf
để cấu hình trao đổi qua tập tin / swap. Nó đầu tiên kiểm tra sự hiện diện của /home/pi/.enable_swap
.
Nếu bạn xóa /home/pi/.enable_swap
thì tệp hoán đổi không được tạo, và sau đó chỉ cần tạo lại nó touch /home/pi/.enable_swap
nếu bạn cần bật hoán đổi và khởi động lại.
Thật đáng tiếc khi Raspberry Pis không có GigaBit Ethernet nhưng ít nhất về mặt lý thuyết là có thể trao đổi không gian trên một thiết bị mạng - Dự án Máy chủ Đầu cuối Linux có thể cung cấp nó từ máy chủ cho khách hàng theo mục này trên wiki của họ .
Tôi đã tìm thấy một chủ đề Diễn đàn Foundation "Mẹo: Hoán đổi trên nfs" cho thấy cách một người đã có một số gắn kết NFS đã sử dụng một tệp hoán đổi trên một trong số họ và gắn kết nó thông qua một vòng lặp (có thể cần thiết vì Linux không cho phép Gắn kết NFS được sử dụng trực tiếp). Vì tệp hoán đổi từ xa sẽ giữ dữ liệu mà HĐH không bị mất, tôi chỉ xem xét điều này đối với mạng Ethernet có dây - một liên kết không dây sẽ quá mong manh IMHO. Ngoài ra, tất nhiên bạn không được phép tắt máy chủ từ xa mà không tắt trao đổi và cho phép nó hoàn toàn trống trước!