{"id":6611,"date":"2020-03-08T14:45:43","date_gmt":"2020-03-08T12:45:43","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=6611"},"modified":"2020-03-08T14:50:31","modified_gmt":"2020-03-08T12:50:31","slug":"leiserer-laptop-cpu-luefter-automatisiert-herunterregeln","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/leiserer-laptop-cpu-luefter-automatisiert-herunterregeln\/","title":{"rendered":"Leiserer Laptop: CPU-L\u00fcfter automatisiert herunterregeln"},"content":{"rendered":"<p>Der L\u00fcfter meines Asus UX360UA Chromebooks machte st\u00e4ndig mit einem leicht pfeifenden Ger\u00e4usch auf sich aufmerksam. Dabei handelte es sich um keinen Defekt: Er l\u00e4uft schlichtweg permanent auf einer relativ hohen Drehzahl. Dabei ist dies zur K\u00fchlung des Systemes gar nicht notwendig. Bei wenig rechenintensiven Aufgaben st\u00f6rt dies vor allem in ruhigeren Umgebungen. Das Werkzeug <strong>fancontrol<\/strong> schaffte Abhilfe. Allerdings war hierf\u00fcr eine manuelle Konfiguration notwendig. <\/p>\n<p>Folgender Artikel zeigt, wie man den CPU-L\u00fcfter unter Xubuntu 19 automatisiert drosseln kann. Er d\u00fcrfte in analoger bzw. \u00e4hnlicher Form auch in anderen Distributionen funktionieren.<\/p>\n<h2 class=\"wp-block-heading\">Analyse des Problemes<\/h2>\n<p>Zun\u00e4chst habe ich mir die Daten aller Sensoren ausgeben lassen. Hierzu ist das Paket <strong>lm-sensors<\/strong> notwendig:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo -i\napt install lm-sensors\nsensors-detect\nsensors<\/code><\/pre>\n<p>Hier erscheint der L\u00fcfter mit 3400-3500 Umdrehungen pro Sekunde. W\u00e4hrend der Messung befand sich das System mit einem Load von 0,4 im Leerlauf. Dennoch ist der L\u00fcfter in ruhiger Umgebung deutlich wahrnehmbar. Die CPU-Temperatur liegt zwischen 40 und 44 Grad.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">asus-isa-0000\nAdapter: ISA adapter\ncpu_fan:     3500 RPM\ntemp1:        +41.0\u00b0C<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Vorbereitung: PWM-Ermittlung<\/h2>\n<p>Da sich jeder L\u00fcfter akustisch anders verh\u00e4lt, habe ich zun\u00e4chst den passenden PWM-Wert f\u00fcr einen angenehmen lautlosen Betrieb ermittelt. PWM erm\u00f6glicht das Ansteuern der Motordrehzahl. Dadurch kann diese einfacher und gezielter reguliert werden. Fr\u00fcher konnte dies nur \u00fcber eine Anpassung der Betriebsspannung geschehen. Die Skala bei PWM liegt bei 0 (aus) bis 255 (Vollast). Nach dem Aktivieren von PWM tastete ich mich an einen akzeptablen Wert heran.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">echo 1 | sudo tee \/sys\/class\/hwmon\/hwmon4\/pwm1_enable\necho 100 | sudo tee \/sys\/class\/hwmon\/hwmon4\/pwm1<\/code><\/pre>\n<p><strong>Hinweis: Durch die Aktivierung wird der L\u00fcfter nicht mehr automatisch geregelt! Es empfiehlt sich daher, w\u00e4hrenddessen keine Anwendungen mit hohem Leistungsbedarf zu betreiben. Ein paralleler Blick auf die Temperatur ist dagegen kein Fehler.<\/strong><\/p>\n<p>100 stellt sich bereits als deutlich lauter heraus, als vom normalen Betrieb her gewohnt. Beim Maximalwert von 255 wirkte der Laptop wie kurz vor dem Abheben. Derart laut habe ich den L\u00fcfter im allt\u00e4glichen Betrieb noch nie erlebt. 60 ist nahezu nicht mehr wahrnehmbar. Bei 50 h\u00f6rt man auch in leisen Umgebungen nichts mehr.<\/p>\n<h2 class=\"wp-block-heading\">Automatisierung mit fancontrol<\/h2>\n<p>Wie zuvor erw\u00e4hnt, wird die Geschwindigkeit hart gesetzt. Bei hoher Prozessorlast erh\u00f6ht der L\u00fcfter seine K\u00fchlleistung somit nicht mehr. Hier hilft <strong>fancontrol<\/strong>: Es fragt regelm\u00e4\u00dfig einen beliebigen Temperatursensor ab. Je nach festgelegten Schwellwerten wird der L\u00fcfter hoch- oder runtergeregelt.<\/p>\n<p>Im Regelfall versucht das Programm, beim ersten Start die L\u00fcfter automatisch zu erkennen. Hierf\u00fcr wird jeder L\u00fcfter nacheinander f\u00fcr 5 Sekunden angehalten. Leider funktionierte das bei meinem Asus-Ger\u00e4t nicht: <\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">$ sudo apt install fancontrol\n$ sudo pwmconfig\n[...]\nFound the following PWM controls:\n   hwmon4\/pwm1           current value: 50\n\nGiving the fans some time to reach full speed...\nFound the following fan sensors:\n   hwmon4\/fan1_input     current speed: 0 ... skipping!\n\nThere are no working fan sensors, all readings are 0.\nMake sure you have a 3-wire fan connected.\nYou may also need to increase the fan divisors.\nSee doc\/fan-divisors for more information.<\/code><\/pre>\n<p>Anschlie\u00dfend lief mein L\u00fcfter konstant auf voller Leistung.<\/p>\n<h3 class=\"wp-block-heading\">L\u00f6sung: Manuelle Konfiguration<\/h3>\n<p>Anhand der <a href=\"https:\/\/www.systutorials.com\/docs\/linux\/man\/8-fancontrol\/\" target=\"_blank\" rel=\"nofollow\">Dokumentation<\/a> und <a href=\"https:\/\/askubuntu.com\/a\/46135\/650986\" target=\"_blank\" rel=\"nofollow\">Beispielen<\/a> habe ich mir eine passende <strong>\/etc\/fancontrol<\/strong> selbst erstellt. Dies w\u00fcrde normalerweise beim ersten Start automatisch geschehen.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">\/etc\/fancontrol\nINTERVAL=10\nFCTEMPS=\/sys\/class\/hwmon\/hwmon4\/pwm1=\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp1_input\nFCFANS=\/sys\/class\/hwmon\/hwmon4\/pwm1=\/sys\/class\/hwmon\/hwmon4\/fan1_input\nMINTEMP=\/sys\/class\/hwmon\/hwmon4\/pwm1=55 \nMAXTEMP=\/sys\/class\/hwmon\/hwmon4\/pwm1=75\nMINSTART=\/sys\/class\/hwmon\/hwmon4\/pwm1=50\nMINSTOP=\/sys\/class\/hwmon\/hwmon4\/pwm1=55<\/code><\/pre>\n<p>Sie verbindet den PWM-L\u00fcfter mit der Prozessortemperatur. Au\u00dferdem wird festgelegt, dass der L\u00fcfter erst bei 55 Grad hochf\u00e4hrt. Der PWM-Wert liegt hierbei im Bereich 50-55. Alle 10 Sekunden findet eine Abfrage der Temperatur statt.<\/p>\n<p>Um fancontrol zu starten, gen\u00fcgt das h\u00e4ndische Starten des Dienstes:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo systemctl start fancontrol<\/code><\/pre>\n<p><strong>Wichtig: Die Konfiguration ist Systemspezifisch! Sie darf nicht 1:1 kopiert werden ohne sicherzustellen, dass diese zu euren Sensoren\/Komponenten passt!<\/strong><\/p>\n<p>Die Temperatur ist im normalen Betrieb nur minimal gestiegen &#8211; ungef\u00e4hr 5 bis 10 \u00b0C. Daf\u00fcr h\u00f6rt man den L\u00fcfter gro\u00dfteils \u00fcberhaupt nicht mehr. Dies ist nur der Fall, wenn entsprechend viel CPU-Leistung ben\u00f6tigt wird. <\/p>\n<h3 class=\"wp-block-heading\">Hilfestellung bei der Sensor-Ermittlung<\/h3>\n<p>Einen ersten \u00dcberblick erh\u00e4lt man \u00fcber <strong>sensors<\/strong>, wie bereits zu Beginn der Artikels beschrieben. Es kann auch n\u00fctzlich sein, sich die Bezeichnungen ausgeben zu lassen. So lassen sich Sensor und Dateisystem-Pfad zuordnen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">$ grep &quot;&quot; \/sys\/devices\/platform\/coretemp.?\/hwmon\/hwmon?\/temp?_label\n\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp1_label:Package id 0\n\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp2_label:Core 0\n\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp3_label:Core 1<\/code><\/pre>\n<p>Oder die Angaben mit denen von <strong>sensors<\/strong> Vergleichen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">$ grep &quot;&quot; \/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp1_*\n\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp1_crit:100000\n\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp1_crit_alarm:0\n\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp1_input:46000\n\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp1_label:Package id 0\n\/sys\/devices\/platform\/coretemp.0\/hwmon\/hwmon6\/temp1_max:100000\n$ sensors\ncoretemp-isa-0000\nAdapter: ISA adapter\nPackage id 0:  +46.0\u00b0C  (high = +100.0\u00b0C, crit = +100.0\u00b0C)<\/code><\/pre>\n<p>Die Temperaturangabe 46000 entspricht hierbei 46\u00b0C. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der L\u00fcfter meines Asus UX360UA Chromebooks machte st\u00e4ndig mit einem leicht pfeifenden Ger\u00e4usch auf sich aufmerksam. Dabei handelte es sich um keinen Defekt: Er l\u00e4uft schlichtweg permanent auf einer relativ hohen Drehzahl. Dabei ist dies zur K\u00fchlung des Systemes gar nicht notwendig. Bei wenig rechenintensiven Aufgaben st\u00f6rt dies vor allem in ruhigeren Umgebungen. Das Werkzeug &#8230;<\/p>\n","protected":false},"author":5,"featured_media":6612,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[74,5,78],"tags":[791,75,790,392],"class_list":["post-6611","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-news","category-software","tag-laptop","tag-linux","tag-temperatur","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=6611"}],"version-history":[{"count":6,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6611\/revisions"}],"predecessor-version":[{"id":6618,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6611\/revisions\/6618"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/6612"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=6611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=6611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=6611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}