Discourse

Hướng dẫn tạo bộ nhớ Swap trên Ubuntu – Centos

Đây là bài viết được mình viết nhắm bổ trợ cho series hướng dẫn làm diễn đàn với Discourse tại blog của mình.Thì việc tạo Swap để làm gì và cách nào nó ra làm sao mọi người hãy xem bài viết hướng dẫn dưới đây của mình nhé.

Bộ nhớ Swap là gì?

Swap trong linux là bộ nhớ ảo được sử dụng khi bộ nhớ RAM đã hết và swap được tạo ra từ bộ nhớ ổ cứng, nó giống như việc sử dụng ổ cứng để làm bộ nhớ RAM cho VPS/Server hoạt động khi bị thiếu hụt do quá tải.

Nếu bạn từng sử dụng VPS để làm server thì chắc đã từng bị lỗi Establishing a Database Connection, đây chính là lỗi do hết bộ nhớ từ Server và server lúc này bị ngưng kết nối với cơ sở dữ liệu SQL.

Vì là bộ nhớ ảo và từ bộ nhớ của ổ cứng nên tốc độ đọc sẽ chậm và được khuyến kích là không nên làm dụng nó.Theo Ubuntu thì thời gian truy cập trên Swap sẽ chậm hơn 10³ so với trên RAM. Ví dụ, khi bạn sử dụng bộ nhớ đệm từ RAM chỉ mất 1 giây, trong khi đó mất 15 phút khi sử dụng ổ cứng (HDD) và mất hơn 1 phút khi sử dụng ổ đĩa rắn (SSD).

Thay vào đó nếu VPS/Server bị hết RAM thì bạn hãy nâng cấp hoặc là tối ưu để nó hoạt động tốt hơn.

Cách tạo bộ nhớ Swap

Những lệnh dưới đây áp dụng cho cả hệ điều hành Ubuntu và Centos luôn nhé mọi người.

Kiểm tra đã cài Swap chưa?

Đầu tiên bạn nên kiểm tra xem Server/VPS bạn cài Swap chưa , nếu rồi thì có thể bỏ qua do 1 số nơi sẽ được cài tự động.

Bạn dùng lệnh free -m để kiểm tra nhé.

Nhìn vào ảnh trên bạn thấy dòng Swap đang để chỉ số là 0 hết nên mặc định nó chưa cài nhé các bạn.

Kiểm tra bộ nhớ đủ không

Yêu cầu để khởi tạo bộ nhớ Swap là bạn phải còn lượng ổ cứng lớn chứ ít thì không nên tạo vì sẽ bị chiếm dụng 1 phần bộ nhớ mặc dù đôi khi Swap không được sử dụng nếu như RAM vẫn còn.

Bạn dùng lệnh df -h để kiểm tra bộ nhớ hệ thống nhé.

Ở ảnh trên bạn thấy dòng mình bôi đen không /dev/vda1 còn dư tới 36G lận nên thoải mái dùng nha mọi người.Ở đây mình đang mua VPS tại Vultr với gói này là 10$/tháng với dung lượng bộ nhớ là 40G và RAM 2G.

Khởi tạo Swap

Bây giờ chúng ta sẽ bắt tay vào tạo bộ nhớ Swap cho Server nhé, lệnh dưới đây dành cho cả hệ điều hành Ubuntu và Centos.

#1 Để tạo Swap bạn dùng lệnh

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

Ở trên bạn sẽ chú ý vào chỗ count=1024 , đây chính là dung lượng Swap bạn muốn tạo.Vậy tạo dung lượng bao nhiêu là hợp lý.

Theo khuyến khích của mọi người thì nên tạo Swap bằng với dung lượng RAM hiện tại và nếu lớn hơn thì không được lớn hơn gấp 2 lần RAM.

Chính vì vậy nếu Server bạn RAM 1G (1024MB) thì bạn để count=1024k .Ở đây Server mình hiện tại dung lượng là 2G (2048MB) nên mình sẽ chạy dòng lệnh sau:

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

Nhưng bạn nào cài Discourse trên RAM 1G cũng chạy dòng lên trên luôn nhé vì Discourse yêu cầu bộ nhớ Swap tối thiểu 2G.

Tầm 1 phút sau  màn hình trả về kết quả như sau là thành công.

#2 Tiếp theo bạn định danh Swap cho file

sudo mkswap /swapfile

Kết quả trả về như sau là thành công

#3 Kích hoạt swap

Bạn chạy lệnh:

swapon /swapfile

Màn hình lúc này nếu báo lỗi “insecure permissions 0644, 0600 suggested” thì cũng không sao cả nhé, lát chúng ta sẽ sửa lỗi đó sau.

#4 Kiểm tra swap đã tạo thành công chưa

swapon -s

Lúc này bạn sẽ thấy được bộ nhớ swap hiển ra như sau:

Vậy là bạn đã tạo thành công rồi đó nhé.

Hiện tại bạn chỉ mới kích hoạt swap cho phiên làm việc hiện tại, nếu server bị reboot thì nó sẽ không được kích hoạt chính vì vậy bạn phải config tự động kích hoạt cho lần sau.

#5 Tự động kích hoạt Swap và bảo mật cho Swap

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

Sau đó bạn chạy tiếp lênh sau để bảo mật cho Swap

chown root:root /swapfile

chmod 0600 /swapfile

Vậy là xong! Bây giờ chúng ta sẽ thiết lập thông số Swappiness để Swap được kích hoạt sử dụng.

Thiết lập Swappiness

Swappiness là thông số chỉ định cho Swap được sử dụng khi RAM đã hết còn bao nhiêu phần trăm.Thông số này tượng trưng cho phần trăm bộ nhớ RAM đang sử dụng.

Ví dụ bạn thiết lập Swappiness là 10 thì sau khi bộ nhớ RAM còn 10% thì Swap sẽ được sử dụng thay cho RAM và đây cũng là con số nên sử dụng .

#1 Kiểm tra thông số Swappiness hiện tại

cat /proc/sys/vm/swappiness

Thường lệnh trên sẽ trả về 30 hoặc 60 nên bây giờ chúng ta sẽ chỉnh nó về 10 là hợp lí nhé.

#2 Chỉnh thông số Swappiness

sudo sysctl vm.swappiness=10

Sau đó bạn chạy lại lệnh

cat /proc/sys/vm/swappiness

Lúc này thì đã trả về 10 rồi nhé các bạn, tuy nhiên để cho nó mặc đinh cho lần khởi động sau thì bạn phải sửa đổi trong file config như sau:

nano /etc/sysctl.conf

Lúc này bạn sẽ vào giao diện thay đổi, bạn tìm đến dòng vm.swappines để thay đổi tuy nhiên thông thường VPS ở vultr sẽ không có dòng trên nên bây giờ mọi người thêm vào dòng  vm.swappiness=10 vào trong file trên.

Sau đó nhấn Ctrl + O để lưu, EnterCtrl + X để thoát.

Bây giờ bạn lưu và khởi động lại VPS/Server bằng lệnh sau:

sudo reboot

Sau đó đợi 10s tiến hành đăng nhập lại và bạn nhập lênh sau để kiểm tra nhé.

cat /proc/sys/vm/swappiness

Lúc này đã trả về 10 là thành công rồi.

Vậy là xong! Bây giờ bạn có thể cài đặt Server để sử dụng rồi và nếu bạn đang xem series hướng dẫn tạo diễn đàn với Discouse thì hãy xem tiếp phần sau nhé.

Nếu có thắc mắc hay hỏi đáp mời bạn tham gia thảo luận tại diễn đàn hoidap.cheng.vn nhé.

Chúc các bạn thành công!

Hướng dẫn tạo bộ nhớ Swap trên Ubuntu – Centos
4.7 3 votes

About the author

Cheng

Tôi là Cheng.Blog này lập ra nhằm mục đích chia sẽ những cái gì mình biết và là cái gì mình cũng không rõ.Rất vui khi bạn đã ghé thăm Blog của mình.Hi vọng sẽ giúp ích được gì đó cho bạn.

Để lại bình luận

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.