Festlegen von Temperaturschwellenwerten in i8kmon Ubuntu 14.04

8

Ich habe ein Überhitzungsproblem mit meinem Dell Inspiron 15R und installiert i8kmon, um die Lüftergeschwindigkeit unter Ubuntu 14.04 zu steuern .

Hier ist eine Kopie der Ausgabe der 'lm-Sensoren':

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +62.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:         +57.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:         +61.0°C  (high = +87.0°C, crit = +105.0°C)

i8k-virtual-0
Adapter: Virtual device
Right Fan:      0 RPM
CPU:          +62.0°C 

Auch beim Einstellen der Temperaturschwellen /etc/i8kmonauf:

set config(daemon)      1

# Automatic fan control, override with --auto option
set config(auto)        1

# Report status on stdout, override with --verbose option
set config(verbose) 1

# Status check timeout (seconds), override with --timeout option
set config(timeout) 1

# Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}
set config(0)   {{0 -}  -1  55  -1  55}
set config(1)   {{1 -}  55  70  55  70}
set config(2)   {{2 -}  60  128  60  128}

Der Lüfter startet nicht wann er sollte. Irgendwelche Ideen, was falsch sein könnte? Hier ist eine Kopie von, logwenn Sie i8kmonmanuell mit der --verboseOption ausführen:

i8kmon v1.30 11/16/2013 - Copyright (C) 2013 Vitor Augusto <[email protected]>
config(0)          = {0 0} -1 60 -1 65
config(1)          = {1 0} 50 70 55 75
config(2)          = {1 1} 60 80 65 85
config(3)          = {2 2} 70 128 75 128
config(acpi)       = acpi
config(auto)       = 1
config(daemon)     = 1
config(geometry)   = 
config(i8kfan)     = /usr/bin/i8kfan
config(min_speed)  = 2000
config(sysconfig)  = /etc/i8kmon.conf
config(t_high)     = 80
config(timeout)    = 5
config(unit)       = C
config(use_conf)   = 1
config(userconfig) = ~/.i8kmon
config(verbose)    = 1
status(ac)         = 0
status(acpi_timer) = 0
status(left)       = 
status(leftspeed)  = 0 -1 -1 -1
status(lspeed)     = 0
status(lstate)     = 0
status(lstuck)     = 0
status(nfans)      = 2
status(right)      = 
status(rightspeed) = 0 0 0 0
status(rspeed)     = 0
status(rstate)     = 2
status(rstuck)     = 0
status(state)      = 0
status(t_high)     = 0
status(t_low)      = 0
status(temp)       = 0
status(timer)      = 
status(ui)         = 0
1410467738 acpi: Battery 0: Discharging, 89%, 03:13:17 remaining
temp, left, right, ac state: 60 -1 2 0
# exec /usr/bin/i8kfan 0 0
temp, left, right, ac state: 59 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 60 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 59 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 58 -1 0 0
# exec /usr/bin/i8kfan 0 {}
temp, left, right, ac state: 60 -1 0 0

Es scheint, dass die Temperaturen falsch sind und i8kmonden Lüfter nicht einschalten.

Nicolas
quelle

Antworten:

8

Nach lm-sensors:

i8k-virtual-0
Adapter: Virtual device
Right Fan:      0 RPM

Sie haben nur einen Right Fan, also sollten linke Lüfterwerte immer sein -1. Sie müssen Ihre Set-Konfiguration in der Datei /etc/i8kmon.confauf die folgenden Werte ändern :

set config(0)   {{-1 0}  -1  40  -1  40}
set config(1)   {{-1 1}  40  60  40  60}
set config(2)   {{-1 2}  60  128  60  128}
set config(3)   {{-1 2}  60  128  60  128}

Im Zustand {-1 0}gibt es keinen linken Lüfter und der rechte Lüfter ist ausgeschaltet. Im Zustand {-1 1}sollte der rechte Lüfter mit niedriger Geschwindigkeit laufen, während er im Zustand {-1 2}mit voller Geschwindigkeit laufen sollte. Die anderen Werte 40 60 40 60entsprechen z. B. den Temperaturschwellen --- min und max --- jedes Zustands mit und ohne Wechselstrom.

Sie müssen auch die folgenden Optionen hinzufügen:

# Run as daemon, override with --daemon option
set config(daemon)      0

# Automatic fan control, override with --auto option
set config(auto)        1

# Report status on stdout, override with --verbose option
set config(verbose) 1

# Status check timeout (seconds), override with --timeout option
set config(timeout) 20

Schließlich müssen Sie die Datei erstellen i8k.confin /etc/modprobe.d/welche die Linie options i8k force=1.

Weitere Details man i8kmon

αғsнιη
quelle
Ich habe die Änderungen vorgenommen und es ist immer noch dasselbe ... Vielleicht liegt das Problem in der Erkennung der Lüfter? Gibt es eine Möglichkeit, den Lüfter tatsächlich zum Einschalten zu zwingen?
Nicolas
@Nicolas laufen, lm-sensorswenn Ihr Lüfter läuft und überprüfen Sie das Ergebnis, Right Fan: 0 RPMob Sie Änderungen sehen? und eine zusätzliche Frage: Läuft der Lüfter, wenn die CPU höher ist?
αғsнιη
Der Lüfter läuft jetzt tatsächlich mit niedriger Geschwindigkeit ... Right Fan: 78000 RPMaber die Temperatur scheint ziemlich hoch zu sein. CPU: +69.0°C. Es wird tatsächlich ausgeführt, wenn die CPU-Aktivität höher ist.
Nicolas
1
@Nicolas umbenennen i8kmonzu i8kmon.confund setzte set config(daemon) 1auf set config(daemon) 0und set config(timeout) 1zu set config(timeout) 20und auch ersetzen -mit -1Wert in jedem Zustand ex{- 1}zu {-1 1}am so weiter. und schließlich i8kmonim Terminal laufen, werden Sie sehen, ob funktioniert oder nicht. Sie können askubuntu.com/a/308548/283843 oder ubuntuforums.org/archive/index.php/t-842775.html für weitere Details sehen
αғsнιη
1
Vielen Dank, dass Sie @KasiyA! Der Lüfter läuft reibungslos mit 78000 U / min :)
Nicolas