Linux swap là gì

Trên mọi hệ điều hành, ngoài lượng RAM được dành riêng để xử lý hệ điều hành đó, thì sẽ luôn có một khoảng RAM trống dùng để xử lý các tiến trình khác. Khi một process được thực thi, các file / đường dẫn cần thiết của process đó sẽ được load lên RAM và được xử lý. Tuy nhiên, lượng RAM trên server luôn là có hạn (hiển nhiên), vậy khi dung lượng còn trống của RAM không còn đủ để chứa những dữ liệu đó thì chuyện gì sẽ xảy ra?

Nâng cấp RAM chứ còn làm gì nữa.

Khi RAM hết memory, sẽ có một lựa chọn thay thế để giúp cho process của ta vẫn có thể hoạt động được. Cơ chế này đều có ở cả hệ điều hành Windows lẫn Linux. Khi lượng memory cần thiết để xử lý process không đủ, hệ điều hành sẽ “mượn” thêm memory từ một kho lưu trữ phụ (gọi là virtual memory) để chứa các nội dung không hoạt động (inactive). Nhờ đó, hệ thống của ta sẽ có thêm lượng memory trống để xử lý các process mới. Lượng memory phụ này được mượn từ ổ cứng và được gọi là Swap memory.

Ở bài viết này, tớ sẽ mô tả từ A tới Ă các khía cạnh, ngóc ngách của Swap để các cậu hoang mang hơn nhé. <3

Cách hoạt động

Như tớ đã mô tả ở trên, swap memory là một phần riêng biệt của ổ cứng được sử dụng khi RAM hết memory. Đối với Linux, sẽ có một chương trình quản lý memory có nhiệm vụ xử lý công việc này. Khi RAM dần hết memory, chương trình trên sẽ thực hiện tìm kiếm những block dữ liệu inactive trên RAM mà không được sử dụng trong một khoảng thời gian dài. Sau khi tìm kiếm thành công, nó sẽ thực hiện bê block dữ liệu đó sang swap memory. Bằng cách này, không gian trên RAM sẽ được giải tỏa và nhờ đó các process cần thiết sử dụng memory hơn sẽ có đất để xài. Đối với Windows, thuật ngữ swap được thay thế bằng page, nhưng ý tưởng và cách hoạt động là tương tự.

Các loại swap memory

Có hai loại swap memory:

  • Phân vùng swap (swap partition): là loại swap memory mặc định của hệ thống. Khi đó, một phần vùng của ổ cứng sẽ được dành cho việc swapping. Loại swap này có thể được tạo từ lúc cài đặt HĐH và tự động mount vào sử dụng khi khởi động.

Linux swap là gì

  • Tập tin swap (swap file): là loại swap memory do ta tự tạo. Trong trường hợp ổ cứng không còn đủ dung lượng để tạo một phân vùng mới dành cho swap, ta có thể tự tạo một file swap dùng cho việc swapping. Loại swap này có thể được tạo sau khi cài đặt HĐH, và không được tự động mount mà phải mount tay hoặc mount qua fstab.

Tần suất thực hiện swap (swappiness) lý tưởng là bao nhiêu?

Trên hệ điều hành Linux, ta có thể set tần suất thực hiện swap (swappiness) theo ý mình, và giá trị này sẽ thuộc khoảng từ 0 tới 100. Ví dụ, ta set giá trị swappiness thấp, hệ thống sẽ rất hiếm khi thực hiện swapping, chỉ thực hiện khi lượng memory trên RAM còn rất ít. Ngược lại, nếu ta set giá trị swappiness cao, hệ thống sẽ thực hiện swapping thường xuyên hơn dù memory trên RAM còn nhiều.

Vậy ta nên set swappiness bao nhiêu là hợp lý?

Câu trả lời là: không có giá trị swappiness lý tưởng cho mọi trường hợp. Đối với máy chủ vật lý sử dụng ổ cứng SSD gắn trực tiếp vào server, tốc độ của ổ cứng sẽ khá tốt, ta có thể set giá trí này ở khoảng 20 đến 60 (60 là giá trị được nhiều tài liệu khuyên dùng). Đối với máy ảo, tốc độ ổ cứng được share cho nhiều máy ảo khác, việc sử dụng memory của ổ cứng làm swap sẽ không đạt hiệu quả tốt, ta nên set giá trị swappiness thấp, ví dụ khoảng 0 đến 10.

Có thể nhiều bạn đã nghe nói về thuật ngữ này, hầu hết đã biết nó, nhưng đối với những người mới chưa biết Những gì tôi đang nói, Tôi sẽ cho bạn biết một chút về hoán đổi.

Sự hoán đổi hoặc hoán đổi không gian bộ nhớ hoặc còn được gọi là bộ nhớ ảo, là loại sử dụng không gian trên ổ cứng thay vì mô-đun bộ nhớ.

Nếu không thì, ứng dụng sử dụng RAM và tính khả dụng của nó để chạy và có thể làm việc trên máy tính, khi có ít ứng dụng đang chạy trên hệ thống, những ứng dụng này được quản lý bằng RAM khả dụng.

Bây giờ điều gì sẽ xảy ra khi trường hợp ngược lại nếu các ứng dụng yêu cầu nhiều RAM hoặc đơn giản là không còn bộ nhớ nào nữa Đây là lúc Swap xuất hiện.

Swap được sử dụng khi hết bộ nhớ thực, hệ thống sao chép một số nội dung của bộ nhớ RAM vào không gian bộ nhớ hoán đổi để thực hiện các tác vụ khác.

Một trong những nhược điểm chính của việc sử dụng hệ thống này là hệ thống sẽ trở nên chậm hơn, vì tốc độ truyền dữ liệu giữa RAM và ổ cứng là rất khác nhau và tất cả phụ thuộc vào phần cứng của bạn.

Mặc dù trong SDD, điều này thay đổi hoàn toàn vì bạn có truyền dữ liệu tốt hơn.

Tốc độ quan trọng ở đây trong khi RAM thông tin truyền đi trong một khoảng thời gian nano giây. SSD truy cập dữ liệu trong micro giây trong khi, như một ổ cứng thông thường, truy cập dữ liệu trong mili giây. Điều này có nghĩa là RAM nhanh hơn 1000 lần so với SSD và 100.000 lần so với ổ cứng thông thường.

Khi nào cần sử dụng Swap?

Linux swap là gì

Mặc dù có rất nhiều thông tin trên mạng, Bạn sẽ tìm thấy hai loại và đó là chúng là những người nói rằng Hoán đổi tại thời điểm này là vô ích và những loại khác cho rằng nó cực kỳ hữu ích.

Đây là một tình huống khó xử, thực tế là cá nhân tôi không có nhu cầu sử dụng phân vùng hoán đổi, điều này bởi vì trong trường hợp của tôi, tôi thường không yêu cầu quá nhiều từ máy tính của mình.

Mặc dù đối với mọi người là khác nhau, từ ngày của tôi cho đến ngày hôm nay tôi chưa bao giờ bị sập hệ thống và tôi không bị vì nó chậm đi do thiếu bộ nhớ RAM, nó đã xảy ra với tôi rằng tôi nhận thấy sự chậm chạp, nhưng đó là do bởi vì ổ cứng của tôi đã có vấn đề và tôi phải thay nó.

Nhưng những câu hỏi họ hỏi chúng tôi là:

  • ¿Quy mô của sàn giao dịch phải là bao nhiêu?
  • ¿Swap phải có kích thước gấp đôi RAM hay nó phải bằng một nửa kích thước của RAM?

Vì cả hai đều có mối liên hệ với nhau, tôi nghĩ rằng theo lẽ thường, chúng ta có thể suy ra những gì nên làm.

Nếu bạn có một máy tính có RAM 16 GB thì Swap của bạn sẽ là 32 GB hoặc 8GB, thực tế là không có, theo lẽ thường khi truy cập bộ nhớ 8 GB trên ổ cứng HDD của bạn, bạn sẽ mất khoảng 2 phút trở đi, xem bảng tốc độ truyền được mô tả ở trên không nhất quán.

Bây giờ nếu bạn có nhiều hơn 8Gb RAM với chỉ cần 2GB trao đổi là đủ, sử dụng nhiều hơn không có ý nghĩa.

Bây giờ Nếu bạn có từ 6 GB trở xuống, bạn nên sử dụng từ 1 GB đến 2GB.

Nếu bạn sử dụng các tác vụ chỉnh sửa video, kết xuất hoặc chơi các tiêu đề đòi hỏi thứ gì đó đáng kể, điều tốt nhất và lành mạnh nhất là tăng bộ nhớ RAM của chúng tôi và chỉ có 2GB Swap của chúng tôi.

Cuối cùng, tùy thuộc vào bạn để chọn dung lượng ổ đĩa mà bạn sẽ dành cho Swap, như tôi đã đề cập, cá nhân tôi chưa bao giờ bão hòa hệ thống của mình vì vậy nó cũng là một phần trong cách bạn sử dụng máy tính của bạn để mở một số ứng dụng nếu không. bạn có sử dụng.