Đ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ài đặt Ubuntu Server 20.04 LTS mới nhất

Hướng dẫn xóa cache DNS trên máy tính và cache trên trình duyệt

Các hàm xử lý chuỗi nâng cao trong Bash (Phần 1)

Các hàm xử lý chuỗi nâng cao trong Bash (Phần 2)

Các cấu trúc điều khiển, xử lý chuỗi đơn giản và Dictionaries trong Bash

Phân biệt IMAP và POP

Quét malware bằng ClamAV trên CentOS

Shell là gì ? Sự khác nhau giữa SH và Bash