Dường như với tôi một tập tin trao đổi là linh hoạt hơn.
Dường như với tôi một tập tin trao đổi là linh hoạt hơn.
Câu trả lời:
Một tệp hoán đổi linh hoạt hơn nhưng cũng dễ đọc hơn phân vùng trao đổi. Một lỗi hệ thống tập tin có thể làm hỏng tập tin trao đổi. Một tập tin trao đổi có thể là một nỗi đau cho quản trị viên, vì tập tin không thể được di chuyển hoặc xóa. Một tập tin trao đổi không thể được sử dụng để ngủ đông. Một tập tin trao đổi đã chậm hơn một chút trong quá khứ, mặc dù sự khác biệt là không đáng kể ngày nay.
Ưu điểm của tệp hoán đổi là không phải quyết định kích thước trước. Tuy nhiên, trong Linux, bạn vẫn không thể thay đổi kích thước tệp hoán đổi trực tuyến: bạn phải hủy đăng ký nó, thay đổi kích thước, sau đó đăng ký lại (hoặc tạo một tệp khác và xóa tệp cũ). Vì vậy, không có nhiều lợi ích cho một tệp hoán đổi trong Linux, so với phân vùng trao đổi. Nó chủ yếu hữu ích khi bạn tạm thời cần thêm bộ nhớ ảo, thay vì cố định vĩnh viễn.
Một phân vùng trao đổi có thể được ưa thích vì nó tránh được sự phụ thuộc vào hệ thống tệp khi tất cả những gì bạn cần là một nhóm bộ nhớ có thể định địa chỉ.
Nhưng không có gì ngăn cản bạn sử dụng tệp hoán đổi thay vì phân vùng trao đổi hoặc ngoài phân vùng trao đổi.
Tạo tập tin:
dd if=/dev/zero of=/extraswap bs=1M count=512
Khởi tạo nội dung tệp:
mkswap /extraswap
Sử dụng nó:
swapon /extraswap
Xem nếu nó hoạt động:
free -m
Để bắt đầu sử dụng hoán đổi luôn ở lúc khởi động, hãy chỉnh sửa / etc / fstab và thêm
/extraswap swap swap defaults 0 0
[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html
moreswap
vào một thiết bị đầu cuối nếu tôi đột nhiên cần thêm dung lượng trao đổi:alias moreswap='swapfile=`mktemp /tmp/swapXXXX` && sudo touch $swapfile && sudo dd bs=512 count=1M if=/dev/zero | tee $swapfile | pv -s 512M && sudo mkswap $swapfile && sudo swapon $swapfile'
Có lẽ lý do chính là hạt nhân chính đình chỉ vào đĩa không hoạt động với các tập tin trao đổi. Ví dụ, các hướng dẫn wiki Debian là để cài đặt uswsusp
nếu bạn cần điều này.
Gần đây, các tệp hoán đổi không hoạt động nếu hệ thống tệp là btrfs
, vì vậy đơn giản nhất là các bản phân phối luôn tạo trao đổi dưới dạng phân vùng.
Nó được đề cập một cách mơ hồ rằng việc sử dụng một tệp để trao đổi có khả năng hiệu suất thấp hơn một phân vùng, trước phiên bản kernel 2.6. https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15
Để hoàn thiện tôi sẽ thêm câu trả lời của riêng mình:
Như đã nói bởi @Gilles, một tệp hoán đổi không thể được sử dụng để ngủ đông. Khi sử dụng tệp hoán đổi, hệ thống phải định vị tiêu đề của tệp hoán đổi, nhưng để thực hiện điều này, hệ thống tệp chứa tệp hoán đổi phải được gắn và hệ thống tệp được ghi nhật ký - ví dụ: ext3, ext4 và về cơ bản là tất cả các hệ thống tệp hiện đại được Linux sử dụng - không thể được gắn trong quá trình tiếp tục từ đĩa. (Trong thực tế, có nhiều cách để làm như vậy, nhưng khá cồng kềnh.)
Nguồn: https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt
Tôi nghĩ rằng điều đó chủ yếu là do thời gian truy cập vào các dữ liệu nằm trên một phân vùng thấp hơn. Điểm quan trọng của tệp hoán đổi là nhiều hơn để giúp quản trị viên hệ thống khi anh ta thực sự hết RAM và cần phải vận hành các hoạt động lớn có thể làm sập hệ thống của anh ta. Trong trường hợp này, anh ta sẽ thỉnh thoảng tạo các tệp hoán đổi khi cần thiết.
Nhưng dù sao bạn có thể có cả hai.