PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Langsames Script



ghostface1500
16-05-2005, 13:31
Hallo!

Ich habe mir ein Script geschrieben, mit dem ich meinen Centrino CPU "speedsteppen" kann!

Hier erstmal das Script (ist natürlich frei und kann von jeden benutzt werden):

************************************************** *****
#!/bin/bash

vari=`kdialog --menu "Wählen Sie das Regelungs-Verfahren" a "Performance" b "Strom sparen" c "statische CPU-Frequenz"`

if [ $vari = "a" ]
then
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
if [ $? = "0" ]
then
kdialog --title "Erfolgreich" --passivepopup "CPU läuft jetzt auf Performance" 3
else
kdialog --title "Fehler" --passivepopup "Kontrollieren Sie Ihre Einstellungen" 3
fi
fi

if [ $vari = "b" ]
then
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
if [ $? = "0" ]
then
kdialog --title "Erfolgreich" --passivepopup "CPU läuft jetzt stromsparend" 3
else
kdialog --title "Fehler" --passivepopup "Kontrollieren Sie Ihre Einstellungen" 3
fi
fi

if [ $vari = "c" ]
then
freq=`kdialog --combobox "Wählen Sie die MHz" "800" "1067" "1333" "1733"`
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

if [ $freq = "800" ]
then
echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
if [ $? = "0" ]
then
kdialog --title "Erfolgreich" --passivepopup "CPU läuft mit 800 MHz " 3
else
kdialog --title "Fehler" --passivepopup "Kontrollieren Sie Ihre Einstellungen" 3
fi
fi

if [ $freq = "1067" ]
then
echo 1067000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
if [ $? = "0" ]
then
kdialog --title "Erfolgreich" --passivepopup "CPU läuft mit 1067 MHz " 3
else
kdialog --title "Fehler" --passivepopup "Kontrollieren Sie Ihre Einstellungen" 3
fi
fi

if [ $freq = "1333" ]
then
echo 1333000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
if [ $? = "0" ]
then
kdialog --title "Erfolgreich" --passivepopup "CPU läuft mit 1333 MHz " 3
else
kdialog --title "Fehler" --passivepopup "Kontrollieren Sie Ihre Einstellungen" 3
fi
fi

if [ $freq = "1733" ]
then
echo 1733000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
if [ $? = "0" ]
then
kdialog --title "Erfolgreich" --passivepopup "CPU läuft mit 1733 MHz " 3
else
kdialog --title "Fehler" --passivepopup "Kontrollieren Sie Ihre Einstellungen" 3
fi
fi

fi
************************************************** *********


Zu meinem Problem:

Also das Script läuft einwandfrei. Das Problem ist aber das ich dieses Script als Root ausführen muss, da ich ja System-Dateien verändere! Um das zu erreichen benutze ich "kdesu", sieht so aus:

kdesu /usr/sbin/centrino_speedstep

So jetzt zu meinem eigentlichen Problem:

Also das Script arbeitet sehr langsam, wenn ich es starte dauert es 5-10 Sekunden bis sich das erste KDialog-Fenster öffnet. Das passiert immer wenn ich etwas auswähle, es dauert halt sehr lange bis das nächste Fenster bzw. PopUp erscheint! :mad:


Hat jemand einen Tipp war um es so langsam arbeitet??


Danke Ciao!

peschmae
16-05-2005, 16:18
Es geht grundsätzlich schneller wenn du nicht kdialog sondern eine Alternative (z.B. zenity von Gnome verwendest).

KDialog ist ein Kde-Programm, und die haben halt leider grundsätzlich etwas länger (natürlich noch mehr wenn du das Ding unter einer anderen Desktopumgebung als KDE startest).

MfG Peschmä

ghostface1500
16-05-2005, 17:21
Ich habe eine Lösung gefunden um das Script zu beschleunigen!

Ich mache statt:
************************************************** ****
vari=`kdialog --menu "Wählen Sie das Regelungs-Verfahren" a "Performance" b "Strom sparen" c "statische CPU-Frequenz"`
************************************************** ****

einfach

************************************************** ****
kdialog --menu "Wählen Sie das Regelungs-Verfahren" a "Performance" b "Strom sparen" c "statische CPU-Frequenz" > /tmp/choice.file
vari=$(cat /tmp/choice.file)
************************************************** ****

Ok, ist zwar sehr umständlich, aber es läuft nun wesentlich schneller! ;)



Danke Ciao

peschmae
16-05-2005, 17:35
Das finde ich jetzt sehr merkwürdig. Aber wenns was bringt - von mir aus ;)

MfG Peschmä