CPULimit Cách kiểm soát và giới hạn tiến trình sử dụng CPU cho VPS Linux

  • Sunday 12/12/2021

Trong quá trình sử dụng và vận hành máy chủ server/vps mình gặp rất nhiều trường hợp khi mở top -c hoặc htop sẽ thấy một hoặc nhiều tiến trình sử dụng CPU rất nhiều. Điều đó sẽ làm cho hệ thống bạn hoạt động chậm lại và gây ra hiện tượng overload. Ở bài viết này chúng tôi sẽ giới thiệu đến bạn một ứng dụng giúp bạn giới hạn lại tiến trình đang sử dụng nhiều CPU đó là CPULimit. Hãy cùng tìm hiểu và thực hiện.

CPULimit là gi ?

CPULimit là một công cụ dòng lệnh đơn giản nhưng mạnh mẽ để giới hạn và kiểm soát việc sử dụng CPU của bất kỳ tiến trình nào trong hệ thống, cho phép bạn đặt giới hạn hoặc làm gián đoạn tiến trình đó khi đạt đến ngưỡng cửa cao. Để hạn chế việc sử dụng CPU của tiến trình thì CPULimit sẽ gửi tín hiệu SIGSTOP và SIGCONT đến các tiền trình và được xác định bởi hệ thống tải. Nó dựa vào hệ thống tập tin /proc để đọc các PID và các biện pháp sử dụng CPU của hệ thống. Khi một tiến trình đang sử dụng 100% bạn có thể giới hạn tiến trình đó chỉ được phép sử dụng 50% hoặc là 20%. Để sử dụng bạn hãy cài đặt CPULimit vào.

Hướng dẫn cài đặt CPULimit

Để cài đặt CPULimit bạn thực hiện cài đặt như sau. Lưu ý bạn hãy lựa chọn lệnh cài với hệ điều hành mà bạn đang sử dụng để cài đặt vào cho chính xác. Nhưng trước khi cài đặt bạn hãy SSH vào máy chủ đã.

SSH vào máy chủ của bạn

Đầu tiên các bạn cần SSH vào VPS của mình với quyền Root, nếu chưa biết cách SSH thì các bạn có thể xem hướng dẫn bên dưới.

Đối với Debian/Ubuntu

sudo apt install cpulimit

Đối với RHEL/CentOS và Fedora

yum install epel-release

yum install cpulimit

Hướng dẫn cài đặt CPULimit

Cách sử dụng CPULimit

Để sử dụng CPULimit bạn cần nằm cú pháp và các tuỳ chọn thực hiện đi kèm để sử dụng một cách chính xác. Bên dưới là phần liệt kê và mô tả của mình bao gồm

Cú pháp

cpulimit [OPTIONS…] TARGET

Các tuỳ chọn.

  • -l, –limit=N : Phần trăm hoặc CPU được phép sử dụng từ 0 đến 200
  • -v, –verbose: Hiển thị thống kê kiểm soát
  • -z, –lazy: Thoát khi không có tiến trình đích hoặc tiến trình đã kill
  • -i, –include-children: Giới hạn các tiến trình children
  • -h, –help: Hiển thị các trợ giúp
  • -b, –background: Để chạy nền
  • -c, –cpu: Để chỉ định CPU có trông hệ thống hãy sử dụng tuỳ chọn này

Các mục tiêu

  • -p, –pid=N: PID của tiến trình
  • -e, –exe=FILE: Tên file của chương trình thực thi hoặc tên đường dẫn.

Các ví dụ thực tế

Trong phần này mình sẽ hướng dẫn bạn giới hạn một process với CPULimit như sau.

Ở đây là một bài ví dụ và mình sẽ chạy một lệnh dd ổ cứng để tạo ra tiến trình sử dụng full CPU. Khi đó bạn sẽ thấy xuất hiện PID (ảnh minh hoạ PID là 5023) sau đó bạn hãy mở top -c lên bạn sẽ thấy dòng PID 5023 của mình CPU đã được chiếm 100% (1core)

Lưu ý: PID ở bài hướng dẫn và trên màn hình bạn đang dùng sẽ khác nhau. Hãy nhập PID tương ứng ở màn hình của bạn.

ví dụ chạy lệnh dd ổ cứng để tạo ra tiến trình sử dụng full CPU

Bây giờ mình sẽ giới hạn tiến trình này lại bằng CPULimit, mình sẽ giới hạn 50. Mình sẽ chạy lệnh sau

cpulimit –pid 5023 –limit 50

Kết quả trả về như sau

Lưu ý: Bạn không thoát màn hình khi sử dụng lệnh này. Và để kiểm tra bạn hãy mở một cửa số khác để kiểm tra.

Sau khi đã đặt giới hạn mình mở top -c lên và kiểm tra thì tiền trình ban đầu chiếm 100% đã được giảm xuống còn 50%.

Kết luận

Như vậy với CPULimit sẽ giúp bạn kiểm soát và giới hạn các tiến trình hoạt động đang chiêm dụng nhiều CPU. Từ đó sẽ giúp máy chủ bạn giảm bớt tài nguyên và có nhiều tài nguyên cho các tiến trình khác sử dụng hơn. Nếu thấy bài viết hữu ích, hãy chia sẻ rộng rãi đến mọi người để cùng biết cách cài đặt nhé. Ngoài ra Các bạn có thể xem qua một số bài viết khác về VPS tại link bên dưới

========================================================================

P.A Việt Nam tiên phong trong thị trường Internet & Web.
Là nhà đăng ký tên miền lớn nhất Việt Nam.

P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

Ngoài ra bạn có thể tham khảo thêm nhiều kiến thức về máy chủ (server): https://kb.pavietnam.vn/?s=server 

 

Rate this post