Thêm một tập tin trao đổi mới. Làm cách nào để chỉnh sửa fstab để cho phép trao đổi sau khi khởi động lại?


50

Tôi đã xóa phân vùng trao đổi hiện tại của mình do một số vấn đề phân vùng. Bây giờ tôi không có không gian hoán đổi nên tôi đã tạo một tệp hoán đổi với:

dd if=/dev/zero of=/root/myswapfile bs=1M count=1024

Đây là sau swapon -s:

/root/myswapfile    file    1048572    1320    -1

Bây giờ tôi muốn chỉnh sửa /etc/fstabđể kích hoạt tệp hoán đổi sau khi khởi động lại.


1
Hoán đổi trên SSD là nguy hiểm vì các ổ SSD có thời lượng thấp trong các hoạt động ghi dữ dội. Điều này có nghĩa là bạn thực sự có thể tiêu thụ ổ SSD quý giá và đắt tiền của mình như thế.

2
Lưu ý rằng bs=1G count=1sẽ cho kết quả tương tự, hãy xem trang man dd cho các đơn vị khác.
LiveWireBT

Câu trả lời:


79

Đây là các bước để tạo một trao đổi trên một tệp:

Tạo một tệp lớn, ví dụ như với

sudo mkdir -p /var/cache/swap/   # create a directory that holds the swap file
sudo dd if=/dev/zero of=/var/cache/swap/myswap bs=1M count=4096 # for 4 GByte

Tất nhiên, bất kỳ phương pháp nào khác để tạo một tệp có kích thước xác định sẽ làm.

Thông báo trao đổi với hệ thống

sudo chmod 0600 /var/cache/swap/myswap # only root should have access
sudo mkswap /var/cache/swap/myswap # format as swap
sudo swapon /var/cache/swap/myswap # announce to system

Chèn dòng sau vào /etc/fstabđể trao đổi từ lần khởi động tiếp theo:

/var/cache/swap/myswap    none    swap    sw    0   0

Lưu ý: Trong trường hợp bạn có các tệp hệ thống của mình trên ổ SSD, bạn có thể muốn xem xét để giữ tệp hoán đổi của mình trên một vị trí đĩa cứng.

Cũng lưu ý: Bạn không thể sử dụng tệp hoán đổi để ngủ đông (xem Ubuntu SwapFaq )

Lưu ý bổ sung cho Ubuntu> = 17.04: Trao đổi trên tệp /swapfileđược tạo theo mặc định trong cài đặt mới (khi không có phân vùng trao đổi). Chúng ta có thể tự tạo một phân vùng trao đổi sau này nếu muốn.

Trong trường hợp chúng tôi muốn thay thế một trao đổi hiện có (ví dụ: phân vùng) bằng một trao đổi khác (ví dụ trên tệp), chúng tôi cần xóa trao đổi cũ bằng

sudo swapoff -a  # for all

Sau đó loại bỏ mục trao đổi từ /etc/fstabhoặc thay thế nó bằng trao đổi mới tương ứng.


1
Tại sao bạn cũng không muốn trao đổi trên SSD?
Joseph Garvin

1
@JosephGarvin: vì hao mòn có thể không phải là vấn đề bạn vẫn lãng phí rất nhiều dung lượng đĩa (đắt tiền) khi trao đổi trên SSD. Tùy thuộc vào RAM hệ thống của bạn, bạn có thể không cần trao đổi quá thường xuyên. Askubfox.com/questions/178661/do-i-need-swap-with-new-ssd
Takkat

1
Cảm ơn, làm thế nào bạn kiểm tra xem /etc/fstabsẽ gắn kết tập tin hoán đổi chính xác mà không cần khởi động lại? Tôi không thể xem tệp hoán đổi nếu tôi làmmount -a && mount
Don Giulio

2
@ user72464 Để hiển thị tất cả các trao đổi được sử dụng, chúng tôi có thể phát hành swapon -s. Trao đổi có sẵn cũng được hiển thị trên free -h.
Takkat

1
@ user72464 Đơn giản .. làmmount -a
heemayl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.