Το auto-cpufreq παρέχει αυτόματη βελτιστοποίηση ταχύτητας και ισχύος του επεξεργαστή (CPU) για Linux κάνοντας ενεργή παρακολούθηση της κατάστασης της μπαταρίας του φορητού υπολογιστή, τη χρήση της CPU, τη θερμοκρασία της CPU και τον φόρτο του συστήματος.
Ένα από τα προβλήματα με το Linux σε φορητούς υπολογιστές είναι ότι η CPU θα λειτουργεί με μη βελτιστοποιημένο τρόπο κάτι που θα αρνητική επίπτωση στη διάρκεια ζωής της μπαταρίας. Για παράδειγμα, η CPU θα εκτελείται χρησιμοποιώντας το «Performance» Governor με ενεργοποιημένο το turbo boost, ανεξάρτητα από το αν είναι συνδεδεμένο το laptop στην τροφοδοσία ή όχι.
Το πρόβλημα αυτό μπορεί να μετριαστεί χρησιμοποιώντας εργαλεία όπως το cpufreq-indicator αλλά αυτά εξακολουθούν να απαιτούν χειροκίνητη αλλαγή από την μεριά σας. Επίσης η χρήση εργαλείων όπως το TLP θα βοηθήσει σε αυτήν την περίπτωση την παράταση της διάρκειας ζωής της μπαταρίας, αλλά μπορεί να απενεργοποιήσει π.χ. το turbo boost όταν δεν πρέπει.
Έτσι το Auto Cpufreq είναι ένα απλό εργαλείο που κάνει αυτόματα τις αλλαγές που σχετίζονται με το «cpufreq», εξοικονομεί μπαταρία όπως το TLP, αλλά και αφήνει τον πυρήνα Linux να κάνει το μεγαλύτερο μέρος της βαριάς δουλειάς χωρίς να μπλέκεται στα «πόδια» του. Να σημειώσουμε ότι το auto-cpufreq δεν έρχεται σε διένεξη και λειτουργεί τέλεια σε συνδυασμό με το TLP !
To auto-cpufreq υποστηρίζει επεξεργαστές Intel, AMD και ARM. Βασικός στόχος του εργαλείου είναι να βελτιώσει την απόδοση και τη διάρκεια ζωής της μπαταρίας σε φορητούς υπολογιστές και να αυξάνει τις επιδόσεις όταν και εφόσον απαιτείται. Φυσικά μπορεί κάποιος να το χρησιμοποιήσει και σε επιτραπέζιο υπολογιστή.
Πως κάνουμε εγκατάσταση το Auto Cpufreq
Ο δημιουργός τους εργαλείου παρέχει snap πακέτα για εύκολη εγκατάσταση σε όλες τις διανομές αλλά και AUR (για Arch συστήματα) και source πακέτα. Για να το εγκαταστήσετε με snap δώστε:
sudo snap install auto-cpufreq
Σημείωση: Στο Fedora ίσως να χρειαστεί επιπλέον να τρέξετε sudo snap run auto-cpufreq
ή εγκατάσταση με source πακέτα αν δεν σας ενδιαφέρουν να λαμβάνετε αυτόματα ενημερώσεις για νέες εκδόσεις με διορθώσεις:
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer
Πως τρέχουμε το Auto cpufreq
Το auto-cpufreq διαθέτει 3 modes:
--monitor
: Απλά παρέχει πληροφορίες και προτάσεις ανάλογα με την κατάσταση του συστήματος και τον φόρτο.--live
: Κάνει προσωρινή εφαρμογή των προτεινόμενων ρυθμίσεων τα οποία με μια επανεκκίνηση χάνονται--install
: Κάνει μόνιμη εφαρμογή των ρυθμίσεων που διατηρούνται σε περίπτωση επανεκκίνησης του υπολογιστή
Αν λοιπόν θέλω να κάνω μόνιμη εγκατάσταση των ρυθμίσεων και αυτόματη αλλαγή τους ανάλογα με τις συνθήκες του υπολογιστή μου τρέχω:
sudo auto-cpufreq --install
Αν θέλω να παρακολουθήσω τις καταγραφές του τρέχω:
auto-cpufreq --logs
Αν θέλω να αφαιρέσω τις ρυθμίσεις που έχει κάνει τρέχω:
sudo auto-cpufreq --remove
Επίλογος
Μπορείτε να μάθετε περισσότερα στο επίσημο αποθετήριο του που θα βρείτε στις παραπομπές. Προσωπικά το βρήκα να συνεργάζεται άψογα με το GameMode αλλά και τις ρυθμίσεις για optimizations που είχα κάνει.
Παραπομπές:
- auto-cpufreq (Github)
Ερώτηση: Έχει λόγο ύπαρξης η εγκατάσταση σε επεξεργαστή laptop core2duo του 2010 με όλους κ όλους 2 governors; (performance schedutil)
Επίσης σε σχέση με το laptop mode tools (aur) μπορεί να συνδυαστεί;
Αμε γιατί να μην έχει λόγο ύπαρξης ;
Update: Μάλλον θα το συνδιάσω με TLP που είναι δοκιμασμένο ότι συνεργάζονται καλά.
Ναι καλύτερα με tlp!
Έκανα αυτή την ερώτηση προηγουμένως, γιατί δεν είναι διαθέσιμος ο powersave governor, δηλαδή να εναλλάσσει μεταξύ performance και powersave για να δω διαφορά στην μπαταρία. Έχω καταλάβει κάτι λάθος; Κάποιος κάπου έλεγε ότι άλλαξε driver σε aspi κ ύστερα έβλεπε περισσότερους διαθέσιμους governors.
Εγώ με «cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors»
βλέπω μόνο performance και schedutil.
Άρα το μόνο που θα κερδίσω όπως έχω καταλάβει, μιας κ ο shedutil είναι ο default, είναι επιδόσεις όταν με γυρίζει σε performance (πχ όταν είναι στο ρεύμα το laptop).
Στη μπαταρία δε θα κερδίσω κάτι μιας κ δεν υπάρχει για μένα ο powersave.
Σωστά;!!
Μην το αποκλείεις, γιατί ανάλογα την CPU έχουν αναφερθεί ότι το shedutil πλησιάζει αρκετά σε θέμα εξοικονόμησης το powersave. Όποτε δεν έχεις κάτι να χάσεις
Ωραία το έχω ενεργοποίησει από εχθές και τεστάρω σε συνδυασμό όμως με laptop mode tools. Χρησιμοποιώ το powertop σαν «διαγνωστικό» κ είδα ότι στα tunables με το tlp 20 bad ενώ με το lmt έχω μόνο δύο bad. Θα μου πεις μπορώ να πειράξω το config με το χέρι. Κ θα σου απαντήσω ότι προτιμώ να μη το κάνω γιατί μετά θα με πιάσουν οι ψυχαναγκασμοί μου κ θα κάνω 1002 δοκιμές κ θα το κάψω το κεφάλι μου. Οπότε στη συγκεκριμένη περίπτωση προτιμώ να αφήσω το default config να ξεκινάω το service κ να έχω το κεφάλι μου ήσυχο!!
Χαχαχαζα σε νιώθω !!! Γιαυτο προτιμώ να μην ανοίγω τα conf χαχαχαζ γιατί δεν θα βγω ποτε από εκεί μέσα !
Μου δημιουργούσε πρόβλημα με το boot/reboot. Δεν ξεκινούσε το plasmashell κ είχα μια κενή μαύρη οθόνη. Η απεγκατάσταση δεν έλυνε το πρόβλημα, μέχρι να συνδέσω ξανά το φορτιστή του laptop κ με δυσκόλεψε πολύ να καταλάβω ότι το πρόβλημα προερχόταν από εκεί. Το πρόβλημα δημιουργούταν όταν ήμουν συνδεδεμένος μόνο με μπαταρία κ έτρεχα auto-cpufreq –log. Όλα αυτά σε Arch Linux.
Ενδιαφέρον ! Νομίζω πρέπει να το αναφέρεις στον GitHub του προτζεκτ για να το διορθωσουν !
Εγώ από την άλλη σε Laptop με Ryzen 7 4700U δε είδα καμμία διαφορά στην διάρκεια ζωής της μπαταρίας…Σta ςινδοςσ 10 η μπαταρία διαρκεί σχεδόν τον διπλάσιο χρόνο…
Συνδύασε το με το tlp που γράφω έδω :
https://cerebrux.net/2017/09/27/3-%CF%84%CF%81%CF%8C%CF%80%CE%BF%CE%B9-%CE%B1%CF%8D%CE%BE%CE%B7%CF%83%CE%B7%CF%82-%CE%B4%CE%B9%CE%AC%CF%81%CE%BA%CE%B5%CE%B9%CE%B1%CF%82-%CE%BC%CF%80%CE%B1%CF%84%CE%B1%CF%81%CE%AF%CE%B1%CF%82-%CF%83/
Update: Το πρόβλημα το προκαλούσε οποιοδήποτε tool διαχείρισης ενέργειας από τα τρία προ αναφερθέντα. Ήταν δύσκολο να εντοπιστεί καθώς ακόμα κ με την αφαίρεση των εργαλείων συνέχιζε να υπάρχει έως ότου κάποια στιγμή επανερχόταν τυχαία κ επέστρεφε με την εγκατάσταση κάποιου από τα τρία. Το πρόβλημα προερχόταν από το sddm κ τον κλειστό οδηγό nvidia. Ο οδηγός για την κάρτα γραφικών όταν ενεργοποιούσα τα εργαλεία ξεκινούσε μετά από το service του sddm. Η λύση ήταν να αφαιρέσω τις παραμέτρους nouveau.modeset=0 και nomodeset από τον kernel.
Αναλυτικότερα στο forum του arch για όποιον ενδιαφέρεται ή αντιμετωπίζει παρόμοιο πρόβλημα.
https://bbs.archlinux.org/viewtopic.php?pid=1944513#p1944513
Μπράβο ! Ευχαριστούμε για τον χρόνο που αφιέρωσες για να βρεις μια λύση και να την μοιραστείς μαζί μας !