Hướng dẫn giới hạn CPU cho các tiến trình Linux trên Debian/Ubuntu với CPUTool

Hiện tại thì chương trình này chỉ có trên Debian/Ubuntu  bạn có thể cài đặt bằng lệnh sau :

sudo apt install cputool

Giới hạn process với CPULimit

Đầu tiên chúng ta tìm hiểu về cách thức hoạt động của cpulimit, trước tiên chúng ta hãy thử chạy một lệnh dd ổ cứng .

dd if=/dev/zero of=/dev/null &

Bạn có thể theo dõi tiến trình đang hoạt động với lệnh : top

Monitor dd Command CPU Usage

Ở đây tôi thấy tiến trình này luôn chạy với 100% cpu (1 core), giờ tôi thử giới hạn với CPUtool.

Bạn sử dụng tuỳ chọn –cpu-limit hoặc là -c để giới hạn phần trăm sử dụng cpu của process, -p để chỉ định tiến trình nào cần giới hạn.

Chẳng hạn tôi giới hạn tiến trình trên với PID là 8275 với 50% (1 core).

cputool --cpu-limit 50 -p 8275

Sau khi chạy bạn có thể check lại tiến trình đang hoạt động với lệnh top

Limit Process CPU to 50% Usage

Giả sử tôi muốn set lại  20%:

 cputool --cpu-limit 20 -p 8275

Limit Process CPU Usage to 20%

Lưu ý: Khi chạy chương trình này, sau khi nhập lệnh bạn không thao tác trên bàn phím để giữ cho chương trình chạy, để thoát ra bạn có thể nhấn ctrl+X.

Bạn cũng có thể tìm và group chương trình bằng cách chỉ định 1 PID duy nhất. Chẳng hạn bạn muốn tìm các tiến trình chạy bởi apache bạn có thể sử dụng:

pidof apache2

Kết quả.

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Bạn có thể dùng lệnh sau để giới hạn cho tất cả các tiến trình apache

cputool --cpu-limit 20 -P 1780

Bạn lưu ý, bạn dùng tuỳ chọn -P (Chữ P viết hoa), không giống như ví dụ đầu tiên là p thường.

Bạn có thể xem thêm thông tin với:

man cputool

Chúc các bạn thành công.

Related Articles