Ra khỏi hộp, máy chủ Vultr FreeBSD không được cấu hình để bao gồm không gian trao đổi. Nếu ý định của bạn là cho một ví dụ đám mây dùng một lần, có lẽ bạn không cần phải lo lắng về điều này. Nếu bạn đã tạo một máy chủ "thực" sẽ tồn tại trong một thời gian, hãy đọc tiếp.
Ngay cả máy chủ được bố trí lố bịch nhất cũng yêu cầu không gian hoán đổi. Đó chỉ là cách hệ điều hành hoạt động. Trong những lúc ứng dụng của bạn gặp chút rắc rối và ăn nhiều RAM hơn mức bình thường, việc có không gian hoán đổi sẽ cho bạn cơ hội chiến đấu để giành lại quyền kiểm soát máy. Ngay cả trong hoạt động bình thường, FreeBSD vẫn chủ động về quản lý bộ nhớ. Ví dụ, các chương trình chạy dài đang chờ trong bộ nhớ sẽ được hoán đổi vào đĩa để nhường chỗ cho những thứ hữu ích, như bộ đệm hệ thống tập tin. Chạy với trao đổi bằng không là một công thức cho hành vi không thể đoán trước và không ai chạy máy chủ muốn điều đó!
Xác nhận trạng thái trao đổi
Trước khi chúng tôi làm bất cứ điều gì, hãy chắc chắn rằng chúng tôi thực sự không có bất kỳ trao đổi.
swapinfo
Không nên trả lại. Thích như vậy:
vultr [~]# swapinfo
Device 1K-blocks Used Avail Capacity
vultr [~]#
Nếu thực sự nó trống, hãy tiếp tục và tạo cho mình một tệp hoán đổi. Nhưng trước tiên...
Cần bao nhiêu trao đổi?
Các quy tắc cũ (RAM 1 lần, RAM 2 lần, RAM 0,5 lần, v.v.) không thực sự áp dụng những ngày này. Nếu máy chủ của bạn có 16GB bộ nhớ, bạn chắc chắn không cần lãng phí 32GB dung lượng đĩa quý giá của mình trên một tệp hoán đổi. Điều đó nói rằng, nếu bạn đã kích hoạt các bãi đổ vỡ, tùy thuộc vào cách cấu hình của nó, việc hoán đổi bằng với bộ nhớ của bạn có thể được yêu cầu để nó hoạt động.
Vì vậy, làm thế nào lớn để làm cho các tập tin trao đổi là thực sự tùy thuộc vào bạn. Tin tốt là, bạn luôn có thể thay đổi nó sau này và với bộ lưu trữ được hỗ trợ bởi SSD, bạn không phải lo lắng quá nhiều về nơi nó kết thúc trên đĩa của bạn. Dù sao đi nữa, hãy chuyển sang ...
Tạo và sử dụng tệp hoán đổi
Chúng tôi sẽ tạo một tệp hoán đổi 512 meg tại /usr/swap0
. Hãy thoải mái thay đổi bất cứ điều gì nếu nó không hiệu quả với bạn. Ví dụ: nếu bạn muốn 1 gig đổi, hãy thay đổi 512 thành 1024, v.v. Nếu bạn quyết định thay đổi tên tệp, hãy đảm bảo bạn thay đổi cả hai tham chiếu đến nó.
Sao chép cẩn thận các mục sau, thực thi với quyền root và bạn sẽ hoàn tất:
dd if=/dev/zero of=/usr/swap0 bs=1m count=512
chmod 0600 /usr/swap0
echo "md99 none swap sw,file=/usr/swap0,late 0 0" >> /etc/fstab
swapon -aL
Xác nhận rằng nó đã hoạt động:
vultr [~]# swapinfo
Device 1K-blocks Used Avail Capacity
/dev/md99 524288 0 524288 0%
Tại thời điểm này, bạn đã hoàn tất. Hoán đổi đang hoạt động và nó sẽ tiếp tục hoạt động sau khi khởi động lại.
Giải thích cho sự tò mò
Các dd
lệnh tạo ra các tập tin thực tế. Sau đó, chúng tôi đặt quyền thích hợp, thêm một dòng để /etc/fstab
trao đổi và sau đó bật nó. Lệnh swapon -aL
yêu cầu HĐH kích hoạt tất cả các phân vùng / tệp trao đổi trong fstab, bao gồm cả các phân vùng được đánh dấu là muộn. Do cách khởi động FreeBSD 10.2, tệp hoán đổi phải được gắn muộn. Khi HĐH khởi động bình thường, trao đổi của bạn sẽ được bật trong giai đoạn "gắn hệ thống tập tin trễ".