Nên tạo linux swap dung lượng bao nhiêu là được

SWAP (RAM ảo) là gì? Khi nào cần sử dụng SWAP? Có tốn tài nguyên khi cài đặt SWAP không? Kích thước của SWAP mới đủ,… Tất cả những thắc mắc đó sẽ được giải đáp trong bài viết này.

Nên tạo linux swap dung lượng bao nhiêu là được

SWAP (RAM ảo) là gì? Khi nào nên sử dụng RAM ảo?

RAM ảo là gì?

– Swap là RAM (bộ nhớ đệm) được lấy đổi từ ổ cứng.

– RAM ảo để làm gì? Nó được sử dụng khi RAM vật lý đã được sử dụng hết (hoặc ngừng hỗ trợ song song) nhằm tăng dung lượng bộ nhớ đệm.

– Việc cài đặt SWAP trên Linux sẽ làm tăng độ an toàn của máy chủ vật lý hoặc VPS.

Khi nào sử dụng Swap?

Sử dụng Swap là lấy ổ cứng làm RAM, mặc dù chậm nhưng nó vẫn tốt hơn là không sử dụng nếu máy tính của bạn không có đủ lượng RAM. Đặc biệt, trên Linux có một số lỗi nguy hiểm phát sinh khi RAM bị hết. Nếu không có Swap thì máy chủ có thể gặp nguy cấp trong vấn đề bảo mật. Vì vậy, bạn nên sử dụng Swap cho Linux.

Nên tạo linux swap dung lượng bao nhiêu là được

Cũng trong một số trường hợp, bạn không dự tính được bộ nhớ dành cho các chương trình mà bạn chuẩn bị thử nghiệm hay một điều gì đó bất thường. Trong trường hợp này, Swap sẽ được sử dụng để hệ thống có thể được duy trì để tiếp tục chạy thay vì hệ thống đột ngột dừng lại vì thiếu bộ nhớ.

Có tốn tài nguyên khi cài đặt Swap không?

Khi cài đặt SWAP thì dung lượng tương ứng sẽ bị trừ đi ở ổ cứng. Chẳng hạn nếu dung lượng lưu trữ thực tế là 50GB, bạn cài đặt Swap là 5GB thì dung lượng lưu trữ sẽ còn 45GB.

Nên tạo linux swap dung lượng bao nhiêu là được

Đối với dịch vụ VPS giá rẻ thì dung lượng ổ cứng khá ít, vì thế bạn cần cân đối dung lượng đĩa cứng.

Swap được sử dụng khi hệ thống (server) của bạn quyết định rằng nó cần thêm bộ nhớ RAM cho quá trình hoạt động và bộ nhớ RAM (thật) không còn dư để sử dụng. Nếu điều đó xảy ra, các tài nguyên và dữ liệu tạm thời không hoạt động trên bộ nhớ RAM sẽ được di chuyển để lưu trữ vào không gian Swap để giải phóng bộ nhớ RAM và sử dụng cho việc khác.

Thời gian truy cập vào vùng Swap là chậm hơn rất nhiều so với Ram vật lý. Chính vì thế, bạn không thể coi việc sử dụng Swap là một cách thay thế cho bộ nhớ vật lý (RAM). Swap có thể là một phân vùng dành riêng cho Swap, một tập tin Swap hoặc một sự kết hợp của phân vùng và tập tin Swap.

Kích thước Swap là bao nhiêu mới đủ?

– Bạn nên cài đặt Swap bằng ½ thông số RAM thật là đủ. Tốc độ xử lý của Swap chậm hơn RAM thật rất nhiều. Swap được sử dụng khi mà Ram thật có dấu hiệu sắp hết.

– Nếu VPS/ Server của bạn sử dụng Swap quá nhiều, có nghĩa là Server của bạn đã tới hạn, bạn nên nâng cấp Ram.

– Nâng cấp CPU cũng là một cách để lượng “Process” được giải phóng.

– 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, tốn tài nguyên Ram.

Chọn loại ổ cứng nào để sử dụng Swap hiệu quả

Ram là bộ nhớ đệm cần xử lý khối lượng công việc rất lớn. Vì vậy, nếu ổ cứng có tốc độ đọc ghi chậm thì không sử dụng làm Ram Swap được hoặc tốc độ cực chậm. Một số trường hợp còn không có tác dụng và làm máy chậm hơn vì Swap không xử lý được gây nghẽn việc đang xử lý. Rất nhiều đơn vị dùng 1 ổ SSD riêng hoặc 1 phần dung lượng của SSD để làm Swap, đây cũng là phương thức tối ưu tốc độ swap hơn so với lấy từ HDD truyền thống.

Swap rất quan trọng, nó là 1 phần “backup” của Ram, nhưng cũng là con dao 2 lưỡi gây treo Server khi tốc độ truy xuất dữ liệu chậm (KHÔNG nên sử dụng HDD làm Swap). Nếu hệ điều hành bắt buộc sử dụng swap mà bạn lại sử dụng ổ HDD thì hãy cài swap mức thấp nhất có thể để đảm bảo hệ thống vận hành ổn định.

Vậy là bạn đọc đã có đáp án cho những câu hỏi về: SWAP (RAM ảo) là gì? Khi nào cần sử dụng SWAP? Cài SWAP có tốn tài nguyên?… rồi đúng không nào. Nếu có góp ý gì cho chúng tôi thì đừng quên comment ở bên dưới bài viết nha.

Swap là khái niệm bộ nhớ ảo trên hệ điều hành Linux, nó sử dụng tài nguyên của ổ cứng để làm bộ nhớ ảo chạy các ứng dụng. Thông thường khi server của bạn không được tạo swap thì khi hết RAM hệ thông sẽ stop các ứng dụng như MySQL khi đó web sẽ không chạy được.

Do tốc độ của ổ cứng không thể nhanh bằng RAM nên việc tạo swap chỉ là để dự phòng cho trường hợp hết RAM. Nếu tình trạng hết RAM xảy ra liên tục thì bạn hãy tối ưu lại server hoặc cần thiết thì nâng cấp RAM cho hệ thống. Ngoài ra, việc tạo swap chỉ nên làm nếu VPS của bạn sử dụng ổ cứng SSD hoặc RAID-10 hoặc các VPS khác không phải VPS sử dụng công nghệ ảo hóa OpenVZ vì các OpenVZ VPS thường được hệ thống tự động kích hoạt swap sẵn.

Bạn có thể tham khảo VPS của các nhà cung cấp như Vultr, Azdigi, Digital Ocean. Các nhà cung cấp này đều sử dụng ổ cứng SSD và RAID-10 với giá rất tốt và đang được nhiều người sử dụng.

Hướng dẫn cách tạo SWAP cho VPS Linux

Trong bài viết này mình sẽ hướng dẫn cách tạo swap cho VPS Linux để bạn có thể tạo bộ nhớ ảo cho hệ thống để chạy dự phòng khi hệ thống hết bộ nhớ RAM. Trước khi bắt đầu bạn hãy đăng nhập vào VPS qua SSH bằng ZOC Terminal hay bằng phần mềm SSH nào đó đều được. Ở đây mình dùng ZOC Terminal.

Kiểm tra swap trên hệ thống

– Việc đầu tiên trước khi tạo swap cho VPS là bạn cần check xem hệ thống của bạn đã được kích hoạt swap chưa bằng cách chạy lệnh

free -m

Nên tạo linux swap dung lượng bao nhiêu là được

Nếu các thông số của swap bằng 0 như hình trên có nghĩa là VPS của bạn chưa được tạo swap. Vậy chúng ta cần phải tạo swap cho VPS.

– Trước khi bắt đầu tạo swap thì cần kiểm tra dung lượng ổ cứng còn trống là bao nhiêu bằng cách dùng lệnh

df -h

Nên tạo linux swap dung lượng bao nhiêu là được

Ở dòng tô xanh dung lượng còn trống ở cột Avail là 18Gb. Bạn dựa vào đây để tính xem nên tạo swap bao nhiêu là đủ.

Tạo swap cho VPS

– Để tạo swap ta dùng lệnh sau:

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

Lệnh trên sẽ tạo swap có dung lượng 1Gb. Nếu bạn muốn tạo swap có dung lượng khác hãy thay count=1024k bằng con số bạn muốn. Ví dụ count=2048k tương ứng với swap dung lượng 2Gb.

Lưu ý: Dung lượng swap tối đa chỉ nên gấp đôi dung lượng RAM vật lý.

Nên tạo linux swap dung lượng bao nhiêu là được

– Kiểm tra lại xem swap được tạo có bị lỗi gì không

ls -lh /swapfile

Nếu kết quả trả về như sau có nghĩa là mọi thứ đều ổn.

Nên tạo linux swap dung lượng bao nhiêu là được

– Định dạng lại cho file swap

sudo mkswap /swapfile

Kết quả

Nên tạo linux swap dung lượng bao nhiêu là được

– Kích hoạt file swap

swapon /swapfile

– Kiểm tra tình trạng swap trên VPS bằng lệnh

free -m

Kết quả

Nên tạo linux swap dung lượng bao nhiêu là được

– Chmod quyền truy cập cho file này bằng lệnh

chown root:root /swapfile sudo chmod 600 /swapfile

– Chạy lệnh sau để mỗi khi reboot lại VPS swap tự động được kích hoạt

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

Cấu hình tham số swappiness

Việc cấu hình swappiness chính là cấu hình mức độ ưu tiên sử dụng swap. Tức là chúng ta sẽ thiết lập sao cho khi lượng RAM còn bằng giá trị của swappiness (tính bằng %) thì hệ thống sẽ sử dụng swap. Swappiness có giá trị từ 0 – 100.

  • swappiness = 0: swap dùng khi RAM được dùng hết.
  • swappiness = 10: swap sử dụng khi RAM còn 10%.
  • swappiness = 50: swap sử dụng khi RAM còn 50%.
  • swappiness = 100: swap được sử dụng đồng thời với RAM.

Như đã nói ở trên, tốc độ xử lý của RAM cao hơn nhiều so với Swap nên hãy đặt giá trị swappiness gần với 0 để tận dụng tối đa sức mạnh của RAM. Giá trị tốt nhất nên đạt là 10.

– Để kiểm tra giá trị hiện tại của swappiness bạn dùng lệnh

cat /proc/sys/vm/swappiness

Kết quả trả về là 30 hoặc 1 số nào đó tùy thuộc vào hệ điều hành đang dùng (CentOS, Ubuntu,…)

– Để thay đổi giá trị của swappiness bạn dùng lệnh

df -h

0

– Lệnh trên giúp thay đổi giá trị của swappiness là 10. Bạn có thể dùng lại lệnh sau để kiểm tra xem đã đúng chưa.

cat /proc/sys/vm/swappiness

Để giữ nguyên thông số này sau mỗi lần khởi động lại VPS bạn cần điều chỉnh tham số

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

2 ở cuối file

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

3 (nếu không thấy bạn hãy tự thêm vào)

– Sử dụng lệnh sau để sửa file

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

3

df -h

2

– Tìm đến dòng vm.swappiness và đổi sang giá trị mong muốn hoặc chưa có thì bạn có thể thêm vào cuối file dòng

df -h

3

Nhấn Ctrl + O để lưu, Enter và Ctrl + X để thoát.

Nên tạo linux swap dung lượng bao nhiêu là được

– Khởi động lại VPS và kiểm tra lại kết quả bằng lệnh

df -h

4

Nên tạo linux swap dung lượng bao nhiêu là được

Thay đổi dung lượng file swap trong VPS

Sau khi thực hiện theo các bước trên để tạo swap cho VPS Linux xong nếu bạn muốn thay đổi tăng giảm dung lượng swap thì hãy làm theo các bước sau:

– Tắt swap

df -h

5

– Xóa swap

df -h

6

– Tạo swap với dung lượng mới. Ví dụ lệnh dưới là tạo swap 2Gb (2048k)

df -h

7

– Tạo phân vùng swap

df -h

8

– Kích hoạt swap

swapon /swapfile

– Chmod file swap

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

0

– Kiểm tra file swap

free -m

Khi thay đổi dung lượng file swap, các cài đặt từ trước như tự động kích hoạt khi server reboot, thông số Swappiness được giữ nguyên nên bạn không cần phải thao tác gì thêm.

Lời kết

Như vậy là bài viết này mình đã hướng dẫn cách tạo swap cho VPS Linux rất chi tiết cho bạn rồi đó. Sau bài viết này bạn có thể tiến hành cài đặt HocVPS Script để tạo server cho VPS chạy web bằng luôn được rồi đó. Chúc bạn thành công!

Nên tạo linux swap dung lượng bao nhiêu là được

Internet là nơi mình học được những gì về Wordpress, SEO, SEM, MMO và kiến thức máy tính. Những chia sẻ của mình là những thứ mình học được và đã làm thành công, có thể nó chưa được hoàn hảo nhưng nó sẽ hữu ích với bạn.