#!/usr/bin/env perl ############################################################################# # # temp-ctl.pl # # Check teh core temp and set acordend the Governor between Conserative # and Powersave. # # # Author Rainer Locke 2013-11-11 # ############################################################################# use strict; use warnings; no warnings; use File::Find; my $ix =0; my $Core_0_temp = "/var/tmp/Core_0_temp.out"; my $Core_1_temp = "/var/tmp/Core_1_temp.out"; print ("Start \n"); until ($ix == 9) { system ("sensors | grep Core >/var/tmp/Core_0_temp.out"); my $rw = open(FILE,$Core_0_temp); if(not defined($rw)) { die "Fehler beim Öffnen der Datei: $!\n"; } while(defined(my $i = )) { $i =~ tr/ / /s; # print ("$i"); my $Core = substr($i,5,1); my @a = split(/ /,$i); # print (@a[1], "\n"); # core # chop(@a[1]); print ("core @a[1]: "); # core # # print (@a[2], "\n"); # core temp @a[2] = substr(@a[2],1); chop(@a[2]); chop(@a[2]); chop(@a[2]); print ("@a[2]°C\n"); # core temp if (@a[2] < 73) { # print "($a[2]) kleiner als 73\n"; system ("echo 'conservative' | sudo tee /sys/devices/system/cpu/cpu@a[1]/cpufreq/scaling_governor"); } else { # print "(@a[2]) größer gleich 73\n"; system ("sudo cat /sys/devices/system/cpu/cpu@a[1]/cpufreq/scaling_governor"); } if (@a[2] < 82) { # print "($a[2]) kleiner als 82\n"; system ("sudo cat /sys/devices/system/cpu/cpu@a[1]/cpufreq/scaling_governor"); } else { # print "(@a[2]) größer gleich 82\n"; system ("echo 'powersave' | sudo tee /sys/devices/system/cpu/cpu@a[1]/cpufreq/scaling_governor"); } } close(FILE); # print (" Core 0: ", $Core_0_temp ,"\n"); sleep(10); }