Đ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

[[email protected] ~] cat /proc/sys/vm/swappiness
60

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

[[email protected] ~] 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:

[[email protected] ~] nano /etc/sysctl.conf
vm.swappiness=10

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

[[email protected] ~] sysctl -p

Kiểm tra lại swappiness

[[email protected] ~] 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://7host.vn

Hướng Dẫn Tùy Chỉnh PHP Version Trên DirectAdmin

Hướng dẫn truy cập phpMyAdmin trên DirectAdmin

Hướng dẫn quản lý file với giao thức FTP bằng phần mềm FileZilla Client

Hướng dẫn thay đổi PHP version trên hosting

Khắc phục lỗi “nf_conntrack: table full, dropping packet” trên CentOS 5/6

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

Hướng Dẫn Lấy Mật Khẩu Ứng Dụng Mail Trên Tài Khoản Google (Gmail)

Cài đặt SSL Let’s Encrypt trên DirectAdmin