Home Máy chủ LinuxTools CPULimit Kiểm soát giới hạn tiến trình sử dụng CPU

CPULimit Kiểm soát giới hạn tiến trình sử dụng CPU

by Thạch Phạm
Published: Last Updated on
A+A-
Reset

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 AZDIGI 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 nhé.

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 nhé.

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

AZDIGI Tutorial
sudo apt install cpulimit
    
CPULimit - Kiểm soát giới hạn tiến trình sử dụng CPU

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

AZDIGI Tutorial
yum install epel-release
yum install cpulimit
    
CPULimit - Kiểm soát giới hạn tiến trình sử dụng CPU

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à 4074) sau đó bạn hãy mở top -c lên bạn sẽ thấy dòng PID 4074 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.

CPULimit - Kiểm soát giới hạn tiến trình sử dụng 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

AZDIGI Tutorial
cpulimit --pid 4074 --limit 50
    

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

CPULimit - Kiểm soát giới hạn tiến trình sử dụng CPU

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.

AZDIGI Tutorial
top -c
    

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%.

CPULimit - Kiểm soát giới hạn tiến trình sử dụng CPU

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é.

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

5/5 - (4 votes)

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign