Hướng dẫn sử dụng và cài đặt CPULimit để theo dõi CPU trong Linux

Theo dõi Thuevpsgiare.vn trên Google News

Rate this post

Trong quá trình sử dụng và vận hành máy chủ server/vps có 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 Thuevpsgiare.vn 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à gì?

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.

Đăng nhập từ Windows 

Nếu bạn đang sử dụng hệ điều hành Windows trên máy tính của mình và muốn đăng nhập vào máy chủ Linux thông qua SSH, bạn sẽ cần một phần mềm hỗ trợ làm việc này. Phần mềm thông dụng nhất đó là PuTTY, bạn chỉ việc tải về và chạy là sẽ ra bảng đăng nhập vào máy chủ như hình dưới.

Dòng khoanh màu đỏ là bạn sẽ điền địa chỉ IP của máy chủ, port mặc định là 22, bạn chỉ sửa nếu bạn biết chắc máy chủ của mình sử dụng một cổng mạng khác.

chrome XrJkP6I944

Lưu ý: khi nhập trong cửa sổ thì mật khẩu không hiển thị. Bạn chỉ cần nhập đúng và đủ mật khẩu rồi bấm Enter để kết nối.

Ngoài ra để thuận tiện các bạn có thể copy mật khẩu sau đó click chuột phải trên màn hình PuTTY để paste mật khẩu đó vào, sau đó bấm Enter như bình thường.

z2536030741416 258476dd03c99c83810e1c25c7e781cd

Đăng nhập từ Linux/macOS

Nếu bạn sử dụng các hệ điều hành Linux hoặc macOS thì trên máy đã có sẵn công cụ Terminal có thể chạy những lệnh Unix. Tại Terminal, bạn sử dụng lệnh sau để đăng nhập:

Trong đó, root là tên người dùng trên máy chủ và 123.45.67.8 là địa chỉ IP của máy chủ. Trường hợp bạn dùng một cổng mạng khác cổng 22 thì sẽ cần khai báo số cổng với tham số -p. Nếu bạn sử dụng SSH Key có thể tham khảo bài viết sau.

Đối với Debian/Ubuntu

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

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

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.

 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

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

 

 

Trả lời