Τώρα ασχολούμαστε με αυτό το βήμα μόνο εάν έχουμε επεξεργαστή που υποστηρίζει power throttling. Εάν δεν έχουμε τέτοιον προχωράμε στο επόμενο βήμα.
για επεξεργαστή που υποστηρίζει power throttling
Τέτοιοι επεξεργαστές είναι μόνο οι AMD Athlon64(X2), AMD Phenom-X4, AMD Phenom-II-X4 (καί οι αντίστοιχοι Opteron και Sempron) και οι Intel Pentium-4 και Core (2) Solo/Duo/Quad, Intel Core i5/i7 (και οι αντίστοιχοι Xeon και Celeron).
Κώδικας:
pacman -S cpufrequtils
Ανοίγουμε λοιπόν έναν Midnight Commander:
Κώδικας:
mc
Εδώ πολλή ΠΡΟΣΟΧΗ καθώς κανονικά υπάρχει ένα ξεχωριστό directory για κάθε ξεχωριστή έκδοση πυρήνα που είναι εγκατεστημένη στο σύστημα. Εμείς θα πρέπει να επιλέξουμε το directory που αντιστοιχεί σε αυτόν που χρησιμοποιούμε (λογικά θα είναι ο πιο πρόσφατος).
Εκεί μέσα πάμε στο kernel/arch/x86/kernel/cpu/cpufreq.
Εδώ τώρα θα δούμε αρκετά αρχεία με κατάληξη ".ko".
Ένα από αυτά θα είναι αυτό που θέλουμε για τον επεξεργαστή μας.
π.χ. για τους AMD K8 λέγεται:
Κώδικας:
powernow-k8.ko
Κώδικας:
acpi-cpufreq.ko
Βγαίνουμε από τον Midnight Commander και από μία κονσόλα ως root, φορτώνουμε μόνο τώρα για την πρώτη φορά, το σωστό module με το χέρι:
Κώδικας:
modprobe powernow-k8
Ξαναπάμε τώρα στον Midnight Commander και πάμε στον κατάλογο /sys/devices/system/cpu/cpu0.
Εκεί θα πρέπει να έχει δημιουργηθεί τώρα ένας κατάλογος με όνομα cpufreq. Μπαίνουμε εκεί μέσα.
Θα ελέγξουμε τώρα με F3 το περιεχόμενο κάποιων αρχείων ΧΩΡΙΣ να τα πειράξουμε:
scaling_driver
Θα πρέπει να έχει μέσα το όνομα του module που ενεργοποιήσαμε προηγουμένως π.χ.
Κώδικας:
powernow-k8
scaling_min_freq
Στα παραπάνω 2 αρχεία θα υπάρχει στο καθένα ένας αριθμός, ίσως γραμμένος και με περίεργο τρόπο. Σε ένα χαρτάκι σημειώνουμε αυτούς τους 2 αριθμούς ΕΠΑΚΡΙΒΩΣ όπως τους είδαμε σε αυτά τα αρχεία. Π.χ. μπορεί να δούμε αντίστοιχα κάτι σαν αυτό:
Κώδικας:
2200000
Κώδικας:
1000000
Εδώ θα δούμε κάτι σαν αυτό:
Κώδικας:
ondemand performance
ΠΡΟΣΟΧΗ !!!
Πολύ πιθανόν να μην υπάρχει το ondemand αλλά μόνο το performance. Δεν ανησυχούμε, δεν μασάμε, διότι η κατάσταση είναι υπό έλεγχο.
Πάμε τώρα να διορθώσουμε το αρχείο:
/etc/conf.d/cpufreq
Εδώ μας ενδιαφέρουν 2-3 γραμμές:
Κώδικας:
governor="ondemand"
Κώδικας:
min_freq="1GHz" max_freq="2.2GHz"
Αυτές τις 2 τιμές, θα τις γράψουμε ΕΠΑΚΡΙΒΩΣ όπως μας τις δώσει η παρακάτω εντολή από μία κονσόλα:
Κώδικας:
cpufreq-info --hwlimits
Μπορούμε τώρα να ξεκινήσουμε για πρώτη φορά με τον χέρι τον δαίμονα του cpufreq:
Κώδικας:
/etc/rc.d/cpufreq start
scaling_available_governors
Θα δούμε να υπάρχει πλέον η λέξη ondemand.
Λογικό, αφού ξεκίνησε τουλάχιστο για μία φορά ο δαίμονας, σωστά ρυθμισμένος.
Πάμε τώρα πάλι να διορθώσουμε το αρχείο:
/etc/rc.conf
Εδώ θα αλλάξουμε δύο πράγματα:
Στη γραμμή:
Κώδικας:
MODULES=(
Κώδικας:
MODULES=(powernow-k8 !r8169)
Αν δεν το έχει, γιατί τότε δεν το είχαμε βρει, να το προσθέσουμε τώρα αλλά ΟΠΩΣΔΗΠΟΤΕ -> πρώτο-πρώτο στην αρχή.
Επίσης πρέπει να προσθέσουμε το fuse module, αμέσως μετά το throttling module (ή το module για τους σένσορες του επεξεργαστή μας). Aν δεν μπορούμε να έχουμε throttling module (και module για τους CPU σένσορες), τότε το fuse μπαίνει πρώτο-πρώτο.
Ακόμα πρέπει να προσθέσουμε μερικά απαραίτητα ACPI modules, αλλά ΟΠΩΣΔΗΠΟΤΕ -> στο τέλος και με την σειρά που βλέπουμε παρακάτω:
Κώδικας:
MODULES=(powernow-k8 fuse !r8169 loop)
Κώδικας:
DAEMONS=(
για ρόλο desktop
Κώδικας:
DAEMONS=(syslog-ng network rpcbind netfs crond nfs-common nfs-server samba sensors hal alsa cpufreq cups smartd @openntpd sshd)
Κώδικας:
DAEMONS=(syslog-ng network rpcbind netfs crond sshd nfs-common nfs-server samba acpid sensors cpufreq cups smartd @openntpd)
Βγαίνουμε παντού στο κεντρικό directory και βγαίνουμε από τον Midnight Commander.
Μήνυμα