Hệ thống tập tin nào được trao đổi trên Linux


14

Trong Linux, bạn có thể chọn những thứ như ext3 và reiserfs cho các phân vùng. Đối với phân vùng trao đổi, bạn chỉ cần chọn "trao đổi." Hệ thống tập tin này là gì, thực sự? Bạn có thể chỉ cần tạo một phân vùng ext3 và làm cho nó một phân vùng trao đổi? Làm thế nào mà khác?


Hệ thống tập tin hoán đổi trên Linux dường như được gọi là hệ thống tập tin hoán đổi Linux. Nếu tôi quản lý để tìm một số thông tin thực sự về nó, tôi sẽ đăng câu trả lời. Cho đến nay, tôi đã đọc từ en.wikipedia.org/wiki/Paging rằng kernel bỏ qua hệ thống tập tin trên các tập tin trao đổi. Điều tương tự có thể đúng với các phân vùng trao đổi.
AndrejaKo

1
Những người đáng kinh ngạc tại các diễn đàn Gentoo đã cung cấp cho tôi liên kết này ! Tất cả mọi thứ dường như được giải thích độc đáo. Oh và cảm ơn John R. Graham.
AndrejaKo

Câu trả lời:


26

Hoán đổi là không có hệ thống tập tin thực tế. Nó chỉ là một phần dành riêng của đĩa là bộ nhớ địa chỉ thô không có cấu trúc đặc biệt.

mkswap tạo một tiêu đề cho khu vực trao đổi với một số thông tin bổ sung. Từ exchangeheader.h của gói produc-linux-ng:

struct swap_header_v1 {
    char         bootbits[1024];    /* Space for disklabel etc. */
    unsigned int version;
    unsigned int last_page;
    unsigned int nr_badpages;
    unsigned int padding[125];
    unsigned int badpages[1];
};

Tiêu đề phiên bản 1 là phiên bản hiện đang được sử dụng. Đó là về tất cả các phép thuật đằng sau cấu trúc thô của trao đổi.


Không phải có một số loại hệ thống tập tin để đọc và viết bất cứ điều gì có ý nghĩa cho một phân vùng?
tony_sid

5
Không. Bạn chỉ cần giải quyết các phần của bộ nhớ. Đó chính xác là những trang. Đó là bởi vì bạn không lưu trữ dữ liệu với cấu trúc phức tạp hoặc thông tin bổ sung như trong các hệ thống tập tin thực sự nơi quyền và ngày được lưu trữ cùng với dữ liệu.
matthias krull

6
Bạn vẫn có thể giải quyết các khối nếu bạn không có hệ thống tập tin.
matthias krull

8

Tôi nghĩ rằng phân vùng trao đổi không cần một hệ thống tập tin vì không có tập tin và thư mục trong đó. Phân vùng trao đổi là nơi RAM ảo.


2
nó không phải là nơi ram ảo chính xác. đó là bộ nhớ (như ram) có thể được ánh xạ tới bộ nhớ ảo của một tiến trình.
matthias krull

4

Linux có hai dạng không gian hoán đổi: phân vùng trao đổi và tệp hoán đổi. Phân vùng trao đổi là một phần độc lập của đĩa cứng chỉ được sử dụng để trao đổi; không có tập tin khác có thể nằm ở đó. Tệp hoán đổi là một tệp đặc biệt trong hệ thống tệp nằm trong các tệp dữ liệu và hệ thống của bạn.

Trao đổi là cần thiết vì hai lý do quan trọng. Đầu tiên, khi hệ thống yêu cầu nhiều bộ nhớ hơn mức có sẵn về mặt vật lý, nhân sẽ hoán đổi các trang ít sử dụng hơn và cung cấp bộ nhớ cho ứng dụng hiện tại (quy trình) cần bộ nhớ ngay lập tức. Thứ hai, một số lượng đáng kể các trang được sử dụng bởi một ứng dụng trong giai đoạn khởi động của nó chỉ có thể được sử dụng để khởi tạo và sau đó không bao giờ được sử dụng lại. Hệ thống có thể trao đổi các trang đó và giải phóng bộ nhớ cho các ứng dụng khác hoặc thậm chí cho bộ đệm đĩa.


2
Câu trả lời thực sự hay và giải thích cốt lõi của vấn đề, nhưng đó là câu trả lời cho câu hỏi "Trao đổi trên GNU / Linux là gì?" Vậy nó đang làm gì ở đây? Ngoài ra, liên kết liên quan đến linux.com/news/software/appluggest/
Kẻ

Tôi biết trao đổi là gì.
tony_sid

... không biết về tùy chọn hoán đổi tập tin
MrCalvin

-1

Có hai cách bạn có thể tạo không gian hoán đổi: hoán đổi hệ thống tập tin và trao đổi thiết bị (hoặc thô). Với trao đổi hệ thống tệp, bạn đang tạo một tệp trên hệ thống tệp và sử dụng tệp đó làm không gian hoán đổi (giống như bạn thấy trên các cửa sổ với pagefile.sys). Với trao đổi thiết bị, bạn đang trao đổi với một phân vùng bạn đã tạo riêng để trao đổi.

Cái nào tốt hơn:

Cuộc tranh luận này từng thú vị hơn rất nhiều trong những ngày "cũ" bởi vì:

Tại sao trao đổi thiết bị là "tốt hơn": Vì bạn đang trao đổi với phân vùng thô, nên nhanh hơn vì bạn không phải xử lý tất cả chi phí phụ của hệ thống tệp với inodes và chi phí hệ thống tệp khác

Tuy nhiên, ngày nay cuộc tranh luận này không thực sự đúng. Với sự phát triển của việc truy cập đĩa nhanh như hiện nay, trao đổi thiết bị không mua cho bạn nhiều thời gian hơn so với trao đổi hệ thống tập tin.

Tại sao trao đổi hệ thống tập tin là "tốt hơn": Thay đổi kích thước dễ dàng hơn nhiều. Khi bạn thay đổi kích thước phân vùng, sẽ khó hơn rất nhiều so với việc tạo tệp mới.

Tuy nhiên, ngày nay với rất nhiều người sử dụng LVM thay vì các phân vùng thô, thật dễ dàng thu nhỏ và phát triển không gian trao đổi của bạn

HÔM NAY nó thậm chí còn nhiều hơn nữa: Hầu hết các máy chủ ngày nay vì lý do hiệu năng, nó đáng giá chỉ để cắm đầy bộ nhớ. (Cuộc tranh luận này đã từng phổ biến hơn nhiều khi RAM khó xuất hiện hơn và thông thường chỉ đưa RAM từ 4GB đến 8GB vào máy chủ)

TẠI SAO TÔI SỬ DỤNG PHIM SWES (và trao đổi nói chung)

Những ngày này tôi hướng dẫn các anh chàng của chúng tôi cài đặt với 4gig trao đổi onl và chúng tôi sử dụng cùng một cấu hình / hình ảnh cho tất cả các cài đặt linux của chúng tôi. Cài đặt Oracle yêu cầu sử dụng trao đổi cao hơn vì vậy đối với các hệ thống sẽ có Oracle tôi sẽ tạo phần còn lại với trao đổi hệ thống tệp. Có thể ứng dụng của bạn có thể có yêu cầu hoán đổi trong trường hợp sau đó bạn có thể thêm nó sau với hoán đổi hệ thống tập tin.

Không giúp đỡ à?

Tôi có hướng dẫn chi tiết cách thực hiện điều này trong linux tại đây: http://geekswing.com/geek/how-to-add-filesystem-swap-on-linux-and-unix-systems/


1
Tuy nhiên, hôm nay cuộc tranh luận này không thực sự đúng. Với sự phát triển của việc truy cập đĩa nhanh như hiện nay, trao đổi thiết bị không mua cho bạn nhiều thời gian hơn trao đổi hệ thống tập tin. - Đây không phải là lý do. Ý tưởng ở đây là không gian hoán đổi có thể có nhu cầu ngay lập tức . Đi qua một hệ thống tập tin liên quan đến các thư mục, khối, inodes, bộ đệm bộ đệm, v.v ... là những mật mã mà bản thân chúng có thể cần nhiều bộ nhớ hơn, dẫn đến một vòng lặp. Đó là lý do tại sao trao đổi được thực hiện tốt nhất trên một thiết bị khối thô. Nó cũng tránh sự phân mảnh hoán đổi.
mirabilos
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.