Έχετε αντιμετωπίσει ποτέ την κατάσταση όπου ανοίγετε μια συγκεκριμένη εφαρμογή (όπως το Firefox) και φέρνει ολόκληρο το σύστημα σε αδράνεια; Εάν εκτελείτε έναν διακομιστή ιστού, το τελευταίο πράγμα που θέλετε να δείτε είναι να υπονομεύσει μια εφαρμογή ολόκληρο το σύστημα και να θέσει όλες τις ιστοσελίδες κάτω.

Το Cpulimit είναι μια εφαρμογή για το Linux που μπορεί να περιορίσει τη χρήση της CPU μιας διαδικασίας. Είναι χρήσιμο εάν θέλετε να περιορίσετε μια συγκεκριμένη εφαρμογή από την ανάληψη πάρα πολλών πόρων CPU και συνεπώς τη συντριβή του συστήματος. Αυτό μπορεί επίσης να είναι χρήσιμο όταν χρειάζεται να τρέξετε ταυτόχρονα πολλά εντατικά προγράμματα.

Σημείωση : Το cpulimit θα πρέπει να λειτουργεί για όλα τα Linux distro. Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε το Ubuntu για απεικόνιση.

Εγκατάσταση

Στο Ubuntu, μπορείτε να εγκαταστήσετε το cpulimit μέσω του Κέντρου Λογισμικού του Ubuntu, κάντε κλικ εδώ για εγκατάσταση ή πληκτρολογήστε την ακόλουθη εντολή στο τερματικό:

 sudo apt-get να εγκαταστήσετε το cpulimit 

Χρήση

Για να περιορίσετε μια διαδικασία, χρησιμοποιήστε την εντολή

 sudo cpulimit -p PID-1 CPU% 

Το PID είναι το αναγνωριστικό διαδικασίας της τρέχουσας εφαρμογής και το CPU% είναι το ποσοστό (0-100, μόνο αριθμός) των πόρων της CPU που επιτρέπονται για την εφαρμογή. Μπορείτε να αποκτήσετε το PID από το System -> Administration -> System Monitor .

Από το παραπάνω στιγμιότυπο οθόνης, μπορείτε να δείτε ότι η εφαρμογή Swiftfox (μια παραλλαγή του Firefox) καταλαμβάνει το 68% των πόρων της CPU πριν οριστεί το όριο της CPU. Ας δούμε τι συμβαίνει όταν περιορίζουμε τη χρήση της CPU στο 20%.

Το% CPU πέφτει αμέσως κάτω από το 20% και ποτέ δεν το διασχίζει ξανά το σήμα 20%.

Επέκταση cpulimit - Αυτοματοποίηση ολόκληρης της διαδικασίας

Το Cpulimit είναι χρήσιμο όταν συναντάτε μια εφαρμογή που καταλαμβάνει πολλούς πόρους CPU ή χρειάζεται να εκτελέσετε εργασία δέσμης. Επιπλέον, μπορείτε επίσης να το ρυθμίσετε για να παρακολουθήσετε το σύστημα για τυχόν εσφαλμένη εφαρμογή. Αυτό είναι ιδιαίτερα χρήσιμο σε μια εγκατάσταση διακομιστή.

abcuser από το Ubuntu Forum έχει καταλήξει σε ένα εξαιρετικό σενάριο που αυτοματοποιεί την παρακολούθηση του συστήματός σας και περιορίζει οποιαδήποτε διαδικασία που υπερβαίνει ένα προκαθορισμένο όριο CPU. Το σενάριο σας επιτρέπει επίσης να ορίσετε μαύρη λίστα / λίστα λευκών για συγκεκριμένες εφαρμογές.

Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε εγκαταστήσει cpulimit και gawk .

 sudo apt-get install cpulimit gawk 

Κατεβάστε τα σενάρια εδώ. Εξαγάγετε το αρχείο tar στον αρχικό σας φάκελο. Θα πρέπει να έχετε δύο αρχεία μέσα στον φάκελο cpulimit : cpulimit_daemon.sh και cpulimit .

Ανοίξτε το αρχείο cpulimit_daemon.sh στον επεξεργαστή κειμένου (gEdit) και αλλάξτε τα εξής:

CPU_LIMIT : Αυτοί είναι οι μέγιστοι πόροι CPU που είναι διαθέσιμοι σε κάθε εφαρμογή. Η προεπιλεγμένη τιμή είναι 20%.

DAEMON_INTERVAL : Αυτό είναι το χρονικό διάστημα για να ελέγξει το σύστημα το σενάριο. Η προεπιλογή είναι ρυθμισμένη στα 3 δευτερόλεπτα.

BLACK_PROCESS_LIST : Περιέχει τη λίστα των στοιχείων που θέλουν να παρακολουθούν ειδικά. Μπορείτε να χρησιμοποιήσετε τον οριοθέτη "|" για να συμπεριλάβετε πολλές διεργασίες. Για παράδειγμα, " mysql|firefox|gedit ".

WHITE_PROCESSES_LIST : Περιέχει τη λίστα των στοιχείων που δεν θέλετε να παρακολουθήσετε. Μπορείτε να χρησιμοποιήσετε τον οριοθέτη "|" για να συμπεριλάβετε πολλές διεργασίες. Για παράδειγμα, " mysql|firefox|gedit ".

Σημείωση : Μία ή και οι δύο μεταβλητές BLACK_PROCESSES_LIST και WHITE_PROCESSES_LIST πρέπει να είναι κενές. Δεν μπορείτε ταυτόχρονα να έχετε μια μαύρη λίστα και μια λίστα λευκών.

Εγκαθιστώ

Αντιγράψτε το αρχείο cpulimit_daemon.sh στο φάκελο / usr / bin /

 sudo cp ~ / cpulimit / cpulimit_daemon.sh / usr / bin sudo chmod 700 /usr/bin/cpulimit_daemon.sh 

Αντιγράψτε το αρχείο cpulimit στον /etc/init.d/folder, ορίστε την απαραίτητη άδεια και κάντε την εκτέλεση κατά τη διάρκεια της καταχώρησης.

 sudo cp ~ / cpulimit / cpulimit /etc/init.d/ sudo chown ρίζα: root /etc/init.d/cpulimit sudo chmod + x /etc/init.d/cpulimit sudo update-rc.d cpulimit προεπιλογή 

Τώρα, επανεκκινήστε το σύστημά σας. Ο δαίμονας cpulimit πρέπει να ξεκινήσει αυτόματα.

Μπορείτε να ανοίξετε ένα τερματικό και να πληκτρολογήσετε:

 sudo υπηρεσία cpulimit κατάσταση 

για να ελέγξετε εάν ο δαίμονας cpulimit εκτελείται. Εάν δεν εκτελείται, ξεκινήστε την με την εντολή

 υπηρεσία sudo cpulimit αρχή 

Εναλλακτικά, σταματήστε το με:

 sudo υπηρεσία stop cpulimit 

Κατάργηση εγκατάστασης

Για να απεγκαταστήσετε, εδώ πρέπει να κάνετε:

1. Σταματήστε τον δαίμονα cpulimit

 sudo service cpulimit stop # Σταματήστε τον δαίμονα cpulimit και όλες τις επεξεργασίες cpulimited 

2. Κατάργηση του δαίμονα από τη διαδικασία εκκίνησης

 sudo update-rc.d -f cpulimit remove # Κατάργηση συμβολικών συνδέσεων 

3. Διαγράψτε τη διαδικασία εκκίνησης

 sudo rm /etc/init.d/cpulimit # Διαγραφή script cpulimit εκκίνησης 

4. Διαγράψτε το δαίμονα cpulimit

 sudo rm /usr/bin/cpulimit_daemon.sh # Διαγραφή του κώδικα δαίμονα cpulimit 

5. Απεγκαταστήστε το πρόγραμμα cpulimit

 sudo apt-get αφαιρέστε cpulimit 

Προαιρετικά, απενεργοποιήστε το πρόγραμμα gawk

 sudo apt-get αφαίρεση gawk 

Για περισσότερες πληροφορίες, ανατρέξτε στο Φόρουμ του Ubuntu για περισσότερες λεπτομέρειες.

Κώδικας πίστωσης: abcuser από το Ubuntu Forum