SWAP là gì? Mọi thông tin cần biết về RAM ảo SWAP

Swap là gì?

Swap hay còn được gọi là RAM ảo được sử dụng để hỗ trợ lưu trữ dữ liệu khi bộ nhớ vật lý (RAM) đã đầy. Đôi khi SWAP cũng được dùng song song để tăng dung lượng bộ nhớ đệm. SWAP thường dùng trên các hệ điều hành Linux, Ubuntu hoặc CentOS. Lý do sử dụng Swap là gì? Cùng Mắt Bão tìm hiểu nhé!

Swap là gì? Là RAM ảo hỗ trợ ổ cứng vật lý phổ biến nhất hiện nay

Swap là RAM ảo hỗ trợ ổ cứng vật lý phổ biến nhất hiện nay

Trường hợp đầy RAM, Swap sẽ được hệ thống dùng làm bộ nhớ thay thế. Tuy nhiên, tốc độ của nó chậm hơn rất nhiều so với ổ cứng vật lý.

Tại sao cần sử dụng Swap?

swap là gì? Bạn sẽ gặp khá nhiều rắc rối nếu không có Swap hỗ trợ

Bạn sẽ gặp khá nhiều rắc rối nếu không có Swap hỗ trợ

Một trong những trường hợp quan trọng cần đến Swap là khi RAM đầy. Theo đó, Swap sẽ hạn chế các sự cố liên quan đến vấn đề bảo mật thông tin, nhất là trong hệ thống điều hành Linux.

Có thể hiểu một cách đơn giản là: bạn không bao giờ có thể lường trước được dung lượng bộ nhớ cho tất cả chương trình trên hệ điều hành. Vì vậy, khi sự cố xảy ra (đầy RAM), Swap sẽ làm nhiệm vụ duy trì tất cả các hoạt động bình thường dù tốc độ có phần chậm hơn thay vì dừng cả hệ thống khiến thông tin dễ bị rò rỉ.

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

swap là gì? Vậy khi nào bạn nên sử dụng Swap?

Vậy khi nào bạn nên sử dụng Swap?

Swap rất cần thiết trong các hệ điều hành phổ biến hiện nay. Tuy nhiên khi nào bạn cần đến nó?

  • Khi dùng một phần mềm yêu cầu hệ thống có hỗ trợ bộ nhớ Swap trong phần cài đặt (ví dụ: Oracle).
  • Khi muốn hoạt động của hệ thống ổn định hơn, đặc biệt quan trọng đối với các hệ thống không có nhiều dung lượng RAM.
  • Nếu bạn đang dùng Ubuntu, hệ điều hành này sẽ yêu cầu Swap cho chế độ ngủ đông.

Loại ổ cứng sử dụng Swap hiệu quả là gì?

Swap là gì? Các ổ cứng có tốc độ đọc, ghi nhanh sẽ phù hợp hơn để sử dụng Swap

Các ổ cứng có tốc độ đọc, ghi nhanh sẽ phù hợp hơn để sử dụng Swap

Swap được lấy đổi từ ổ cứng – tức chiếm đúng phần dung lượng của nó trong ổ cứng tương ứng. Chẳng hạn, nếu ổ cứng của bạn có dung lượng là 50GB, chọn cài Swap 10GB thì ổ cứng vật lý thực tế chỉ có thể sử dụng 40GB. Vì vậy khi quyết định sử dụng Swap, bạn nên chọn loại ổ cứng có tốc độ đọc, ghi nhanh. Tuy nhiên nếu “cố đấm ăn xôi” dùng các ổ cứng chậm, Swap không những không có tác dụng mà còn làm nghẽn hệ thống vì chúng vốn có tốc độ xử lý dữ liệu không hề nhanh.

Cách sử dụng Swap hiệu quả được dùng nhiều nhất hiện nay là sử dụng 1 ổ SSD riêng hoặc 1 phần dung lượng SSD làm Swap bởi SSD sẽ cho tốc độ đọc, ghi nhanh hơn nhiều lần so với ổ HDD truyền thống.

Kích thước SWAP là bao nhiêu?

Swap là gì? Kích thước lý tưởng của Swap nằm trong khoảng một nửa RAM vật lý

Kích thước lý tưởng của Swap nằm trong khoảng một nửa RAM vật lý

Nhìn chung, việc cài đặt Swap chỉ là một biện pháp dự phòng hết RAM bất ngờ. Cho nên, bạn chỉ nên cài Swap với dung lượng tối đa bằng một nửa RAM thật.

Tuy nhiên, vì Swap có tốc độ xử lý chậm hơn RAM vật lý rất nhiều nên nếu VPS hoặc Server của bạn đang sử dụng chúng quá nhiều, thì đó là dấu hiệu cảnh báo để nâng cấp RAM ngay lập tức. Ngoài ra, tốc độ đọc ghi của ổ cứng cũng là nguyên nhân thường xuyên dẫn đến việc giảm hiệu năng, phí phạm tài nguyên RAM vô ích.

Bạn có thể tìm kiếm các thông tin liên qua về VPS trong bài viết: “VPS là gì?

VPS hay Virtual Private Server là máy chủ ảo, được tạo ra bằng cách chia server vật lý thành nhiều server khácCác máy chủ ảo này có tính năng tương tự như máy chủ riêng. VPS hoạt động dưới dạng chia sẻ source từ server vật lý ban đầu.

Ngoài ra còn có nhiều thông tin hữu ích khác về Server trong bài viết: “Server là gì?

Cách thêm bộ nhớ Swap trên Ubuntu/CentOS Linux

Thêm bộ nhớ Swap trên Ubuntu hoặc CentOS Linux gồm 4 bước thực hiện. Các bạn sẽ cần sử dụng câu lệnh Swap với tài khoản root hoặc tài khoản user có quyền sudo.

Kiểm tra bộ nhớ Swap hiện tại của hệ thống

Trước khi bắt đầu, hãy kiểm tra xem hệ thống đã được kích hoạt sử dụng Swap chưa bằng câu lệnh:

 

swap là gì? Tình trạng trên cho thấy Swap hiện đang là 0

Tình trạng trên cho thấy Swap hiện đang là 0

Hướng dẫn cách tạo Swap file

Để tạo Swap file, bạn phải sử dụng câu lệnh: sudo fallocate -l 4G /Swapfile . Trong trường hợp fallocate báo lỗi như sau khi chạy lệnh Swapon Swapon: /Swapfile: Swapon failed: Invalid argument ” hãy tạo Swap file với command: dd

 

Câu lệnh cho phép tạo ra Swap có dung lượng 2GB. Tuy nhiên, bạn có thể thay đổi giá trị count=2048 để tùy chỉnh với 1024 tương ứng 1GB. Phân quyền chỉ được phép đọc bởi root user: sudo chmod 600 /Swapfile

  • Tạo Swap từ Swap file:

 

  • Kích hoạt Swap: sudo Swapon /Swapfile
  • Kiểm tra lại thông tin Swap đã tạo bằng 2 câu lệnh đã dùng ở đầu bài:
Thông tin trên cho biết Swap đã được thêm vào 2GB dung lượng so với lúc ban đầu có giá trị = 0

Thông tin trên cho biết Swap đã được thêm vào 2GB dung lượng so với lúc ban đầu có giá trị = 0

Cách thiết lập Swap khởi động cùng hệ điều hành

Nếu khởi động lại hệ điều hành, bộ nhớ Swap sẽ bị xóa. Vì vậy, để kích hoạt Swap vĩnh viễn kể cả khi reboot lại OS, bạn phải sửa file /etc/fstab. Bằng cách thêm dòng sau: /Swapfile Swap Swap sw 0 0

Cách tùy chỉnh hệ thống sử dụng Swap hiệu quả

Sửa file /etc/sysctl.conf  và thêm vào:

 

Và khởi động lại hệ điều hành. Kiểm tra chỉ số Swappiness, sử dụng câu lệnh sau:

Tham số Swap – Swappiness là gì?

Tham số Swappiness cho biết thời điểm hệ thống sẽ chuyển từ bộ nhớ vật lý (RAM) sang bộ nhớ tạm Swap. Giá trị của Swappiness dao động từ 0 đến 100 và mặc định là 30.

  • Trường hợp tham số Swappiness có giá trị bằng 0 thì sẽ hệ thống sẽ không sử dụng Swap.
  • Trường hợp tham số Swappiness có giá trị bằng 100 thì hệ thống sẽ sử dụng nhiều Swap hơn và giữ cho bộ nhớ vật lý có nhiều không gian trống nhất có thể.
  • Trường hợp tham số Swappiness có giá trị bằng 10 thì hệ thống sẽ không sử dụng Swap cho đến khi bộ nhớ vật lý chỉ còn lại 10%.

Lưu ý: như đã nói ở trên Swap có tốc độ xử lý chậm hơn rất nhiều so với RAM. Vì thế, bạn không nên để máy tính sử dụng Swap quá nhiều, tốt nhất nên đặt Swappiness = 10.

Sau khi kiểm tra chỉ số Swappiness, tiếp tục với tham số vfs_cache_pressure  bằng câu lệnh:

Tham số Swap – vfs_cache_pressure là gì?

vfs_cache_pressure  là tham số ảnh hưởng trực tiếp đến việc lưu trữ các mục siêu dữ liệu của hệ thống tệp đặc biệt ( filesystem metadata ). Việc phải đọc và làm mới thông tin này một cách thường xuyên đương nhiên rất tốn kém, vì vậy hãy lưu nó trên bộ đệm lâu hơn để đảm bảo hiệu năng của hệ thống.

Giá trị mặc định của vfs_cache_pressure là 100 có nghĩa là nó sẽ bị xóa đi rất nhanh. Do đó hãy đặt giá trị này là 50 để lưu trữ được lâu hơn.

Trên đây là hướng dẫn tạo Swap từ Swap file. Ngoài ra, còn một cách khác là bạn có thể tạo Swap từ phân vùng ổ đĩa.

Trên đây là những thông tin cơ bản về Swap và cách cài đặt nó. Nếu có thể áp dụng thành công Swap, hoạt động hệ thống sẽ ổn định hơn và tăng độ bảo mật, kể cả khi RAM vật lý hết dung lượng một cách bất ngờ. Hiện nay hầu hết các nhà cung cấp dịch vụ cho thuê máy chủ đều sử dụng Swap. Nếu bạn không có nhu cầu thuê toàn bộ server, dịch vụ cho thuê hosting linux sẽ đáp ứng được nhu cầu sử dụng các website bán hàng quy mô nhỏ, landing page và blog tin tức.