CPULimit, giới hạn việc sử dụng mà một quy trình tạo ra cho CPU

về CPULimit

Trong phần tiếp theo, chúng ta sẽ xem xét về CPULimit. Đây là một công cụ dòng lệnh giới hạn mức sử dụng CPU của một quá trình (được biểu thị bằng tỷ lệ phần trăm, không phải thời gian CPU). Điều này sẽ hữu ích để kiểm soát các công việc hàng loạt, khi chúng ta không muốn một tiến trình tiêu tốn quá nhiều chu kỳ CPU.

Với việc sử dụng công cụ này, chúng tôi sẽ không thay đổi giá trị hoặc các cài đặt ưu tiên khác, mà là việc sử dụng thực tế của CPU. Ngoài ra, nó có khả năng thích ứng với tải chung của hệ thống, một cách linh hoạt và nhanh chóng. Việc kiểm soát lượng CPU được sử dụng được thực hiện bằng cách gửi señales ĐIỂM DỪNG TIẾP THEO y NEXTCONT POSIX tới các quy trình. Tất cả các quy trình con và luồng của quy trình được chỉ định sẽ chia sẻ cùng một tỷ lệ phần trăm CPU.

Cài đặt CPULimit

CPULimit là có sẵn trong hầu hết các kho lưu trữ mặc định của các bản phân phối giống Unix. Chúng tôi có thể cài đặt nó bằng cách sử dụng trình quản lý gói mặc định trong bản phân phối Gnu / Linux tương ứng. Đối với ví dụ dưới đây, chúng ta sẽ thấy cách cài đặt nó trên Debian, Ubuntu và Linux Mint. Chúng tôi sẽ chỉ phải mở một thiết bị đầu cuối (Ctrl + Alt + T) và viết lệnh sau vào đó:

sudo apt-get install cpulimit

Ai muốn có thể tham khảo các loại cơ sở khác trong dự án trang GitHub.

Sử dụng CPULimit

Sau khi công cụ được cài đặt, đã đến lúc xem nó hoạt động như thế nào. Để làm điều này, chúng ta sẽ chạy một chương trình tiêu tốn nhiều tài nguyên CPU. Các lệnh sau phải được chạy với tư cách người dùng root.

Tạo tập lệnh tiêu tốn tài nguyên CPU

Đầu tiên chúng ta sẽ tạo một tệp có tên derrochecpu.sh. Tôi sẽ sử dụng Biên tập viên Vim, nhưng mỗi người sử dụng cái họ thích. Từ terminal (Ctrl + Alt + T), chúng ta sẽ phải viết:

vim derrochecpu.sh

Sau khi mở, chúng tôi sẽ nhấn phím 'Esc' và sau đó 'i'. Bây giờ chúng ta sẽ thêm các dòng sau:

tập lệnh vim splurgecpu

#!/bin/bash
while :; do :; done;

Sau khi hoàn tất, đã đến lúc lưu và thoát. Để làm điều này, chúng tôi sẽ nhấn phím 'Esc'và chúng tôi sẽ viết : wq để lưu và đóng tệp. Tập lệnh ngắn này sẽ lặp lại mà không bị gián đoạn, tiêu tốn mức sử dụng CPU tối đa. Do đó, bạn nên kiểm tra nó trong một máy ảo.

Bây giờ chúng ta sẽ làm cho tệp này có thể thực thi được. Để làm điều này, từ cùng một thiết bị đầu cuối (Ctrl + Alt + T), chúng tôi sẽ thực hiện:

chmod +x derrochecpu.sh

Khởi chạy kịch bản

Bây giờ chúng tôi sẽ khởi chạy quy trình trong nền. Chúng tôi sẽ thực hiện việc này bằng lệnh:

./derrochecpu.sh &

PID script splurgeCPU

Chúng tôi sẽ giữ PID của quy trình. Trong trường hợp này, 6472 là PID của quá trình đã khởi chạy.

Kiểm tra xem nó tiêu thụ bao nhiêu CPU

Chúng tôi có thể thấy số lượng CPU mà quá trình chúng tôi vừa khởi chạy tiêu thụ, bằng cách sử dụng lệnh «top» trong cùng một thiết bị đầu cuối:

script hàng đầu splurgeCPU

top

Như có thể thấy trong ảnh chụp màn hình ở trên, quá trình wastecpu.sh tiêu tốn hơn 96% mức sử dụng CPU. Vì nó tiêu tốn khá nhiều dung lượng sử dụng CPU, nên rất khó để thực thi các tác vụ khác. Sau một vài phút, hệ thống có thể bị sập hoặc đóng băng. Đây là nơi CPULimt hỗ trợ chúng tôi.

Hạn chế sử dụng CPU bằng PID

Bây giờ, hãy giới hạn việc sử dụng CPU của quá trình này bằng cách sử dụng công cụ CPULimit. Chúng ta sắp giới hạn mức sử dụng CPU đến 35% bằng PID tương ứng của nó (xấp xỉ). Để làm như vậy, hãy chạy:

cpulimit -l 35 -p 6472 &
  • Tùy chọn "-l 35»Giới hạn quy trình ở mức khoảng 35%.
  • «-trang 6472»Là PID của derrochecpu.sh mà chúng ta đã thấy trước đây.

Kiểm tra tác dụng của CPULimit

Khi lệnh trước đó đã được khởi chạy, hãy kiểm tra lại việc sử dụng CPU của quá trình. Đối với điều này, chúng tôi sẽ sử dụng lại lệnh trên cùng:

kịch bản hàng đầu CPULimit lãng phí

top

Như bạn có thể thấy từ hình trên, mức sử dụng CPU của Wastecpu.sh đã giảm xuống còn 35,6%, rất gần với mức 35%. Bây giờ bạn chúng ta có thể có nhiều tài nguyên CPU hơn để chạy các quy trình khác.

Giới hạn mức sử dụng CPU theo tên tệp

Chúng tôi đã thấy cách giới hạn một quy trình sử dụng PID. Cũng chúng ta có thể thực hiện lệnh CPULimit chỉ định tên của tệp chương trình thực thi.

Ví dụ, cùng một ví dụ ở trên sẽ là:

cpulimit -l 30 ./derrochecpu.sh &

CPULimit có thể hữu ích trong khi chạy một quy trình tiêu tốn quá nhiều CPU. Lần tới khi chúng tôi nhận thấy rằng một chương trình tiêu thụ quá nhiều CPU, chúng tôi sẽ chỉ cần tìm PID của quá trình bằng cách sử dụng lệnh «hàng đầu«. Khi bạn có nó, bạn chỉ cần giới hạn mức sử dụng CPU của mình ở một giá trị tối thiểu bằng cách sử dụng lệnh CPULimit như được mô tả trong bài viết này.

Gỡ cài đặt CPULimit

Xóa công cụ này khỏi hệ thống của chúng tôi chỉ đơn giản như mở một thiết bị đầu cuối (Ctrl + Alt + T) và nhập vào đó:

sudo apt remove cpulimit

Những gì bài viết này đã mô tả nó chỉ là một ví dụ. Rõ ràng, không ai trong tâm trí của họ sẽ khởi chạy một tập lệnh giống như kịch bản được mô tả ở đây trên máy tính của chính họ.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   javp dijo

    Hi
    Nó là hoàn hảo cho một máy tính cũ mà tôi có với amd64 x2 dường như có vấn đề về làm mát và khi một quá trình tiêu thụ nhiều cpu trong vài phút, nó sẽ nóng lên đến 100º C và tắt.
    Vì vậy, khi tôi thấy rằng một quy trình (nói chung là một số trang web hoặc chương trình kết xuất video) đang khiến tôi tăng nhiệt độ của cpu, tôi sẽ sử dụng cpulimit để loại bỏ "quyền lực" khỏi quy trình đó.
    Cảm ơn