SWAP là gì trong hệ điều hành Linux Ubuntun, CentOS, RAM ảo SWAP là gì



SWAP là gì trong Linux, hệ điều hành Ubuntu và CentOS, khái niệm về RAM ảo SWAP trong máy tính và server Linux để tăng hiệu suất. Nếu VPS, server Linux của bạn có dung lượng RAM thấp thì cần tạo SWAP RAM ảo để tăng khả năng xử lý, giúp khả năng lưu trữ tạm các hoạt động được tối hơn thay vì chỉ phụ thuộc vào mỗi bộ nhớ vật lý RAM. Nói cách khác, SWAP là kỹ thuật sử dụng một phần ổ cứng thể rắn SSD làm RAM ảo, hỗ trợ cho RAM vật lý trên hệ điều hành Linux. Hãy cùng tìm hiểu khái niệm SWAP là gì nhé.

RAM ảo SWAP là gì trong hệ điều hành Linux Ubuntun, CentOS, VPS

SWAP là gì?

Trong tiếng Anh, Swap được phát âm thành /swɔp/ có nghĩa là Tráo đổi, hoán đổi. Trong tin học, Swap là một vùng trên ổ cứng mà có thể được sử dụng để lưu trữ dữ liệu đang chờ hoạt động.

Hay nói đúng hơn, SWAP là RAM (bộ nhớ đệm) ảo được lấy đổi từ ổ cứng, được sử dụng khi RAM vật lý đã hết hoặc hỗ trợ sử dụng song song, nhằm tăng dung lượng cho bộ nhớ đệm. Chúng ta thường cài đặt SWAP trên server Linux để tăng độ an toàn cho máy chủ vật lý hoặc VPS. Vì nếu website có quá nhiều truy cập mà RAM lại hết thì Linux sẽ tự động ngắt và không thể truy cập vào database được, dẫn tới lỗi kết nối.

Khi đã tạo RAM ảo SWAP rồi, hệ thống server sẽ phân phối hợp lý để tránh trường hợp “tràn” RAM vật lý, giúp duy trì hoạt động liên tục. Nếu RAM thật không còn dư để sử dụng, server sẽ chuyển các tài nguyên, dữ liệu tạm thời không hoạt động trên RAM thật sang không gian SWAP để giải phóng bộ nhớ RAM, khi cần sẽ chuyển lại về vị trí cũ.

Nhưng nên lưu ý rằng, do SWAP là một vùng ổ cứng SSD nên tốc độ xử lý chậm hơn rất nhiều so với RAM vật lý. Bạn không thể coi SWAP là phương pháp thây thế hoàn toàn cho RAM vật lý được.

Dung lượng SWAP hợp lý là gấp đôi RAM vật lý, nếu server hay VPS của bạn có 1GB RAM thì nên tạo SWAP 2GB.

Cách tạo và kích hoạt SWAP trên Linux

Như đã nói ở trên, SWAP là bộ nhớ ảo được sử dụng trên hệ điều hành Linux, khi VPS/Server hoạt động mà nếu RAM hết thì hệ thống tự động lấy 1 phần ổ cứng làm bố nhớ cho các ứng dụng hoạt động. Các server không có SWAP thì khi hết RAM, hệ thống thường tự động stop service MySQL cùng xuất hiện thông báo lỗi Establishing a Database Connection.

1.Cách kiểm tra Swap: trước khi tiến hành tạo file SWAP, bạn cần kiểm tra hệ thống đã kích hoạt SWAP hay chưa bằng lệnh:

Swapon –s

2.Kiểm tra dung lượng trống: Do SWAP là ổ cứng nên phải kiểm tra dung lượng ổ cứng trước bằng lệnh:

df –h

3.Cách tạo SWAP: chúng ta chạy lệnh dd để tạo SWAP, ở đây yeutrithuc.com tạo 1GB SWAP (count = 1024k) cho VPS.

  • Nếu bạn muốn 2GB thì là 2048k, cao hơn nữa thì cứ nhân lên nhé:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

  • Tiếp đến tạo phân vùng SWAP bằng lệnh:

mkswap /swapfile

  • Bạn kích hoạt SWAP bằng lệnh:

swapon /swapfile

  • Kiểm tra tình trạng SWAP như dung lượng ta dùng lệnh:

swapon –s

  • Thiết lập swap tự động được kích hoạt mỗi khi reboot, bởi động lại:

echo /swapfile none swap defaults 0 0 >> /etc/fstab

  • Bảo mật file swap bằng cách chmod với lệnh:

chown root:root /swapfile
chmod 0600 /swapfile

  • Bạn muốn Tắt SWAP thì dùng lệnh:

swapoff /swapfile

  • Bạn muốn xóa file SWAP thì dùng lệnh:

rm -f /swapfile

Bạn cũng nên tìm hiểu về cách cấu hình Swappiness, trong đó Swappiness là mức độ ưu tiên sử dụng swap, khi lượng RAM còn lại bằng giá trị của swappiness (tính theo tỷ lệ phần trăm) thì swap sẽ được sử dụng. Swappiness có giá trị trong khoảng 0 – 100. Ở đây, yeutrithuc.com không đi sâu vào khái niệm này vì mang tính chuyên ngành hơi cao.

Hy vọng mọi người đã hiểu khái niệm SWAP là gì trong hệ điều hành Linux, VPS. Việc tạo SWAP sẽ giúp tăng tốc hệ thống, giải quyết được tình trạng hạn chế của RAM vật lý, tránh việc server ngưng MySQL khiến website của bạn bị “die”. Nhiều nhà cung cấp server tự động tạo SWAP RAM ảo cho người dùng để tăng hiệu suất làm việc hệ thống. Chúc các bạn may mắn!


Bình luận