Το CPULimit, περιορίζει τη χρήση που κάνει μια διαδικασία της CPU

για το CPULimit

Στο επόμενο άρθρο θα ρίξουμε μια ματιά στο CPULimit. Αυτό είναι ένα εργαλείο γραμμής εντολών που περιορίζει τη χρήση της CPU με μια διαδικασία (εκφραζόμενη σε ποσοστό, όχι σε χρόνο CPU). Αυτό θα είναι χρήσιμο για τον έλεγχο των παρτίδων, όταν δεν θέλουμε μια διαδικασία να καταναλώνει πάρα πολλούς κύκλους CPU.

Με τη χρήση αυτού του εργαλείου δεν πρόκειται να αλλάξουμε την τιμή ή άλλες ρυθμίσεις προτεραιότητας, αλλά την πραγματική χρήση της CPU. Επιπλέον, μπορεί να προσαρμοστεί στο γενικό φορτίο του συστήματος, δυναμικά και γρήγορα. Ο έλεγχος της ποσότητας της CPU που χρησιμοποιείται γίνεται μέσω αποστολής σήματα ΕΠΟΜΕΝΗ ΣΤΑΣΗ y ΣΗΜΕΙΟ POSIX στις διαδικασίες. Όλες οι θυγατρικές διεργασίες και τα νήματα της καθορισμένης διαδικασίας θα μοιράζονται το ίδιο ποσοστό CPU.

Εγκαταστήστε το CPULimit

Το CPULimit είναι διαθέσιμο στα περισσότερα από τα προεπιλεγμένα αποθετήρια διανομών τύπου Unix. Μπορούμε να το εγκαταστήσουμε χρησιμοποιώντας τους προεπιλεγμένους διαχειριστές πακέτων στην αντίστοιχη διανομή Gnu / Linux. Για παράδειγμα, θα δούμε πώς να το εγκαταστήσουμε σε Debian, Ubuntu και Linux Mint. Θα πρέπει να ανοίξουμε μόνο ένα τερματικό (Ctrl + Alt + T) και να γράψουμε την ακόλουθη εντολή σε αυτό:

sudo apt-get install cpulimit

Όποιος θέλει να συμβουλευτεί άλλους τύπους εγκαταστάσεων στο σελίδα έργου GitHub.

Χρησιμοποιώντας CPULimit

Μόλις εγκατασταθεί το εργαλείο, ήρθε η ώρα να δείτε πώς λειτουργεί. Για να γίνει αυτό, πρόκειται να εκτελέσουμε ένα πρόγραμμα που καταναλώνει πολλούς πόρους CPU. Οι ακόλουθες εντολές πρέπει να εκτελούνται ως χρήστης root.

Δημιουργία σεναρίου που καταναλώνει πόρους CPU

Πρώτα πρόκειται δημιουργήστε ένα αρχείο που ονομάζεται derrochecpu.sh. Θα χρησιμοποιήσω το Επεξεργαστής Vim, αλλά ότι ο καθένας χρησιμοποιεί αυτόν που προτιμούν. Από το τερματικό (Ctrl + Alt + T) θα πρέπει να γράψουμε:

vim derrochecpu.sh

Μόλις ανοίξει, θα πατήσουμε το πλήκτρο 'Esc' και μετά 'i". Τώρα πρόκειται να προσθέσουμε τις ακόλουθες γραμμές:

vim script splurgecpu

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

Με αυτό, είναι ώρα να αποθηκεύσετε και να βγείτε. Για να το κάνουμε αυτό θα πατήσουμε το πλήκτρο 'Esc«και θα γράψουμε : wq για αποθήκευση και κλείσιμο του αρχείου. Αυτό το σύντομο σενάριο θα επαναληφθεί χωρίς να καταναλώνει τη μέγιστη χρήση CPU. Επομένως, συνιστάται να το δοκιμάσετε σε μια εικονική μηχανή.

Τώρα πρόκειται να κάνουμε αυτό το αρχείο εκτελέσιμο. Για να γίνει αυτό, από το ίδιο τερματικό (Ctrl + Alt + T) θα εκτελέσουμε:

chmod +x derrochecpu.sh

Εκκίνηση του σεναρίου

Τώρα θα ξεκινήσουμε τη διαδικασία στο παρασκήνιο. Θα το κάνουμε χρησιμοποιώντας την εντολή:

./derrochecpu.sh &

PID script splurgeCPU

Θα διατηρήσουμε το PID της διαδικασίας. Σε αυτήν την περίπτωση, το 6472 είναι το PID της διαδικασίας που ξεκίνησε.

Έλεγχος της CPU που καταναλώνει

Μπορούμε να δούμε το ποσό της CPU που καταναλώνει η διαδικασία που μόλις ξεκινήσαμε, χρησιμοποιώντας το εντολή «κορυφή» στον ίδιο τερματικό:

κορυφαίο σενάριο splurgeCPU

top

Όπως φαίνεται στο παραπάνω στιγμιότυπο οθόνης, η διαδικασία wastecpu.sh καταναλώνει περισσότερο από 96% χρήση CPU. Δεδομένου ότι καταναλώνει πολλή χρήση CPU, είναι δύσκολο να εκτελεστούν άλλες εργασίες. Μετά από μερικά λεπτά, το σύστημα θα μπορούσε να καταρρεύσει ή να παγώσει. Εδώ έρχεται το CPULimt στη βοήθειά μας.

Περιορισμός χρήσης CPU από PID

Τώρα, ας περιορίσουμε τη χρήση της CPU αυτής της διαδικασίας χρησιμοποιώντας το εργαλείο CPULimit. Πρόκειται να περιορίστε τη χρήση της CPU στο 35% μέσω του αντίστοιχου PID (κατά προσέγγιση). Για να το κάνετε αυτό, εκτελέστε:

cpulimit -l 35 -p 6472 &
  • Η επιλογή "-l 35»Περιορίζει τη διαδικασία σε περίπου 35%.
  • «-p 6472»Είναι το PID του derrochecpu.sh που έχουμε δει στο παρελθόν.

Έλεγχος της επίδρασης του CPULimit

Μόλις ξεκινήσει η προηγούμενη εντολή, ας επανεξετάσουμε τη διαδικασία χρήσης της CPU ξανά. Για αυτό θα χρησιμοποιήσουμε ξανά την κορυφαία εντολή:

κορυφαίο σενάριο CPULimit squander

top

Όπως μπορείτε να δείτε στην παραπάνω εικόνα, η χρήση CPU του wastefulcpu.sh μειώθηκε στο 35,6%, που είναι πολύ κοντά στο 35%. Τώρα ναι μπορούμε να έχουμε περισσότερους πόρους CPU για να εκτελέσουμε άλλες διαδικασίες.

Περιορισμός χρήσης CPU με όνομα αρχείου

Έχουμε δει πώς να περιορίσουμε μια διαδικασία χρησιμοποιώντας το PID. Επισης μπορούμε να εκτελέσουμε την εντολή CPULimit καθορίζοντας το όνομα του εκτελέσιμου αρχείου προγράμματος.

Για παράδειγμα, το ίδιο παράδειγμα παραπάνω θα ήταν:

cpulimit -l 30 ./derrochecpu.sh &

Το CPULimit μπορεί να είναι χρήσιμο κατά την εκτέλεση μιας διαδικασίας που καταναλώνει υπερβολική χρήση CPU. Την επόμενη φορά που θα παρατηρήσουμε ότι ένα πρόγραμμα καταναλώνει πάρα πολύ CPU, απλά θα πρέπει να βρούμε το PID της διαδικασίας χρησιμοποιώντας την εντολή «κορυφή«. Όταν το έχετε, απλά πρέπει να περιορίσετε τη χρήση της CPU σας σε μια ελάχιστη τιμή χρησιμοποιώντας την εντολή CPULimit όπως περιγράφεται σε αυτό το άρθρο.

Απεγκαταστήστε το CPULimit

Η κατάργηση αυτού του εργαλείου από το σύστημά μας είναι τόσο απλή όσο το άνοιγμα ενός τερματικού (Ctrl + Alt + T) και η πληκτρολόγηση σε αυτό:

sudo apt remove cpulimit

Τι περιέγραψε αυτό το άρθρο είναι απλώς ένα παράδειγμα. Προφανώς, κανείς στο μυαλό του δεν θα ξεκινήσει ένα σενάριο όπως αυτό που περιγράφεται εδώ στον δικό του υπολογιστή.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   javp dijo

    Γεια σας:
    Είναι ιδανικό για έναν παλιό υπολογιστή που έχω με ένα amd64 x2 που φαίνεται να έχει πρόβλημα ψύξης και όταν μια διαδικασία καταναλώνει πολλά cpu για αρκετά λεπτά, θερμαίνει έως και 100º C και τερματίζεται.
    Έτσι, όταν βλέπω ότι μια διαδικασία (γενικά μερικοί ιστότοποι ή προγράμματα απόδοσης βίντεο) με κάνει να αυξήσω τη θερμοκρασία του cpu, θα χρησιμοποιήσω το cpulimit για να αφαιρέσω το "power" από αυτήν τη διαδικασία.
    Ευχαριστίες