Điều chỉnh swap để tăng tốc độ xử lý trên Linux

Swappiness, một thông số trong kernel Linux giúp kiểm soát lượng RAM và Swap khi xử các tiến trình. Khi một tiến trình xử lý bị thiếu RAM vật lý, swappiness sẽ đẩy sang Swap để tránh tình trạng “out-of-memory” thường gặp. Tuy nhiên swap nằm trên đĩa cứng nên có tốc độc xử lý

Swappiness, một thông số trong kernel Linux giúp kiểm soát lượng RAM và Swap khi xử các tiến trình. Khi một tiến trình xử lý bị thiếu RAM vật lý, swappiness sẽ đẩy sang Swap để tránh tình trạng “out-of-memory” thường gặp. Tuy nhiên swap nằm trên đĩa cứng nên có tốc độc xử lý chậm hơn rất nhiều so với RAM. Nếu các tiến trình nằm trên swap quá nhiều sẽ khiến Server/VPS xử lý chậm hơn hẳn. Bài viết sẽ hướng dẫn các bạn tối ưu swap trên Linux để hoạt động tối ưu hơn.

Giá trị “swappiness” nằm trong khoảng từ 0 đến 100. Mặc định trên các hệ điều hành Linux giá trị “swappiness” được đặt là 60. Với giá trị này khi máy chủ đạt đến 40% RAM kernel sẽ thực hiện chuyển một số tiến trình sang swap. Vậy với một máy chủ có nhiều RAM trống thì tại sao chúng ta không tận dụng hết ? Việc giảm tham số “swappiness” sẽ giúp chúng ta tận dụng được tối đa lượng RAM thật đang sử dụng. Vậy hãy thử điều chỉnh để tốt hơn nhé.

Kiểm tra giá trị swappiness mặc định

[root@server7h ~] cat /proc/sys/vm/swappiness
60

Điều chỉnh giá trị swappiness

[root@server7h ~] echo 10 > /proc/sys/vm/swappiness

Để giá trị này không trở lại mặc định mỗi khi khởi động lại, các bạn cần khai báo trong sysctl.conf vào cuối file như sau:

[root@server7h ~] nano /etc/sysctl.conf
vm.swappiness=10

Tiến hành reboot hoặc gõ lệnh sau để áp dụng tức thì:

[root@server7h ~] sysctl -p

Kiểm tra lại swappiness

[root@server7h ~] cat /proc/sys/vm/swappiness
10

 

Kết luận

Việc sử dụng swap nhiều đối với các Server/VPS chạy các ứng dụng quan trọng như MySQL, Oracle, Java…rất dễ bị crash hoặc dẫn đến reboot đột ngột. Việc tinh chỉnh “swappiness” sẽ giúp tránh được việc này cũng như tăng tốc độ xử lý của máy chủ Linux.

Ngoài ra nếu trong quá trình thao tác gặp lỗi hoặc có vấn đề thắc mắc, các bạn có thể liên hệ trực tiếp hỗ trợ của 7Host tại [email protected] hoặc website https://7hosting.cloud

Hướng dẫn cách xem thời gian hiển thị trong lệnh dmesg

Hướng dẫn đăng ký gói Free Hosting tại 7Host

Hướng dẫn khôi phục mật khẩu admin trên website WordPress

Hướng dẫn cài đặt nhanh NodeJS trên CentOS 7

Cài đặt OpenLiteSpeed trên DirectAdmin phiên bản mới nhất

Hướng dẫn cài đặt đăng nhập Webmail RoundCube với One-Click trên DirectAdmin

Hướng dẫn thay đổi giao diện (theme) cho gói Hosting cPanel

Hướng Dẫn Cài Đặt CentOS 7 Toàn Tập