Dużo wyższa temperatura na Debianie niż w Windows

Ogólne pytania dotyczące systemu
Awatar użytkownika
Renia
Posty: 86
Rejestracja: 01 grudnia 2013, 20:37

Post autor: Renia »

Skalowanie nie działa, a powinno, bo intel_pstate jest domyślnie włączony w kernelach Debiana i podobnych. Doinstaluj jeszcze mikrokody Intela:

Kod: Zaznacz cały

sudo apt-get install intel-microcode acpitool
Poprawność konfiguracji sprawdzisz poleceniami, wklej ich wyniki:

Kod: Zaznacz cały

sudo egrep -i '(SYSFS_EXTRA=|GOVERNOR="|MAX_SPEED="|MIN_SPEED=")' /etc/init.d/cpufrequtils
sudo grep CONFIG_CPU_FREQ_GOV /boot/config-$(uname -r)
sudo egrep -i '(intel_pstate|cpufreq|)' /etc/default/grub
sudo cat /proc/cmdline
sudo dmesg | grep microcode
sudo dmesg | grep cpufreq
sudo ls -l /lib/modules/$(uname -r)/kernel/drivers/acpi
sudo acpitool --cpu
sudo cpufreq-info -o
Prawidłowo działający intel_pstate ładnie schaładza procesor. Umnie ma zakres 800 MHz - 2.80 GHz w zalezności od obciążenia, a to przekłada się na mniejszy pobór mocy, a za tym idzie mniejsze wydalanie ciepła.

Sterownik Nvidii to osobny temat. Czy korzystasz z karty HD Graphics 4400 wbudowanej w CPU Intela?
kviatek
Beginner
Posty: 175
Rejestracja: 07 lutego 2015, 08:07

Post autor: kviatek »

Hej,

Doinstalowałem mikrokody.

Teraz jest tak:


egrep -i '(SYSFS_EXTRA=|GOVERNOR="|MAX_SPEED="|MIN_SPEED=")' /etc/init.d/cpufrequtils:

Kod: Zaznacz cały

#    GOVERNOR="ondemand"
GOVERNOR="powersave"
MAX_SPEED="0"
MIN_SPEED="0"


grep CONFIG_CPU_FREQ_GOV /boot/config-$(uname -r):

Kod: Zaznacz cały

grep CONFIG_CPU_FREQ_GOV /boot/config-$(uname -r)
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m


egrep -i '(intel_pstate|cpufreq|)' /etc/default/grub:

Kod: Zaznacz cały

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="intel_pstate=enable CPUFREQ=yes"

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

cat /proc/cmdline:

Kod: Zaznacz cały

BOOT_IMAGE=/vmlinuz-3.16.0-4-686-pae root=UUID=d8d8990f-e677-4a2e-a51f-c9bf7e8fa0bf ro intel_pstate=enable CPUFREQ=yes quiet


dmesg | grep microcode:

Kod: Zaznacz cały

[    0.000000] CPU0 microcode updated early to revision 0xa0b, date = 2010-09-28
[    3.793831] microcode: CPU0 sig=0x1067a, pf=0x80, revision=0xa0b
[    3.793900] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba


dmesg | grep cpufreq niczego nie pokazało




ls -l /lib/modules/$(uname -r)/kernel/drivers/acpi:

Kod: Zaznacz cały

razem 208
-rw-r--r-- 1 root root  7976 gru 15 16:56 ac.ko
-rw-r--r-- 1 root root 10316 gru 15 16:56 acpi_ipmi.ko
-rw-r--r-- 1 root root 13924 gru 15 16:56 acpi_pad.ko
-rw-r--r-- 1 root root 16936 gru 15 16:56 battery.ko
-rw-r--r-- 1 root root 11816 gru 15 16:56 button.ko
-rw-r--r-- 1 root root  6664 gru 15 16:56 fan.ko
-rw-r--r-- 1 root root 45200 gru 15 16:56 processor.ko
-rw-r--r-- 1 root root  9300 gru 15 16:56 sbshc.ko
-rw-r--r-- 1 root root 12020 gru 15 16:56 sbs.ko
-rw-r--r-- 1 root root 18496 gru 15 16:56 thermal.ko
-rw-r--r-- 1 root root 39916 gru 15 16:56 video.ko


acpitool --cpu:

Kod: Zaznacz cały

  CPU type               : Intel(R) Celeron(R) CPU          900  @ 2.20GHz 
  CPU speed              : 0xa0b MHz 
  Cache size             : 2194.436 KB
  Bogomips               : 4388.87 
  Function Show_CPU_Info : could not read directory /proc/acpi/processor/
  Make sure your kernel has ACPI processor support enabled.


cpufreq-info -o:

Kod: Zaznacz cały

          minimum CPU frequency  -  maximum CPU frequency  -  governor
Awatar użytkownika
Renia
Posty: 86
Rejestracja: 01 grudnia 2013, 20:37

Post autor: Renia »

Jako root:

Kod: Zaznacz cały

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
/etc/init.d/cpufrequtils restart
cpufreq-info
Jeśli i to nie pomoże to sprawdź, czy masz aktywne w biosie C6/C7 w sekcji CPU.
kviatek
Beginner
Posty: 175
Rejestracja: 07 lutego 2015, 08:07

Post autor: kviatek »

Kod: Zaznacz cały

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
bash: /sys/devices/system/cpu/intel_pstate/no_turbo: Nie ma takiego pliku ani katalogu


Kod: Zaznacz cały

/etc/init.d/cpufrequtils restart
[ ok ] Restarting cpufrequtils (via systemctl): cpufrequtils.service.

Kod: Zaznacz cały

cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 0.00 ms.

Mam w biosie tylko opcje main, advanced, display, security, boot i exit o procu nic.

AKTUALIZACJA

Hej, a teraz?

Kod: Zaznacz cały

cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 800 MHz - 2.70 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 2.70 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.40 GHz (asserted by call to hardware).
analyzing CPU 1:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 0.97 ms.
  hardware limits: 800 MHz - 2.70 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 2.70 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.40 GHz (asserted by call to hardware).
analyzing CPU 2:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 0.97 ms.
  hardware limits: 800 MHz - 2.70 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 2.70 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.50 GHz (asserted by call to hardware).
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 0.97 ms.
  hardware limits: 800 MHz - 2.70 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 2.70 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 899 MHz (asserted by call to hardware).

Tym razem komenda dmesg | grep cpufreq pokazała coś:

Kod: Zaznacz cały

[   30.567532] Modules linked in: cpufreq_stats cpufreq_conservative cpufreq_powersave cpufreq_userspace nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc nls_utf8 nls_cp437 vfat fat rtsx_usb_ms memstick joydev x86_pkg_temp_thermal intel_powerclamp intel_rapl uvcvideo coretemp videobuf2_vmalloc kvm videobuf2_memops videobuf2_core v4l2_common crc32_pclmul videodev aesni_intel wl(PO) media ppdev iTCO_wdt aes_x86_64 lrw gf128mul iTCO_vendor_support glue_helper ablk_helper cryptd nouveau psmouse snd_hda_codec_conexant evdev efi_pstore pcspkr serio_raw snd_hda_codec_generic snd_hda_codec_hdmi efivars ideapad_laptop snd_soc_rt5640 mxm_wmi cfg80211 sparse_keymap snd_soc_rl6231 snd_soc_core ttm snd_hda_intel rfkill snd_hda_controller battery snd_compress parport_pc snd_hda_codec snd_hwdep i915
[   30.570834] Modules linked in: cpufreq_stats cpufreq_conservative cpufreq_powersave cpufreq_userspace nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc nls_utf8 nls_cp437 vfat fat rtsx_usb_ms memstick joydev x86_pkg_temp_thermal intel_powerclamp intel_rapl uvcvideo coretemp videobuf2_vmalloc kvm videobuf2_memops videobuf2_core v4l2_common crc32_pclmul videodev aesni_intel wl(PO) media ppdev iTCO_wdt aes_x86_64 lrw gf128mul iTCO_vendor_support glue_helper ablk_helper cryptd nouveau psmouse snd_hda_codec_conexant evdev efi_pstore pcspkr serio_raw snd_hda_codec_generic snd_hda_codec_hdmi efivars ideapad_laptop snd_soc_rt5640 mxm_wmi cfg80211 sparse_keymap snd_soc_rl6231 snd_soc_core ttm snd_hda_intel rfkill snd_hda_controller battery snd_compress parport_pc snd_hda_codec snd_hwdep i915
[   40.618306] Modules linked in: cpufreq_stats cpufreq_conservative cpufreq_powersave cpufreq_userspace nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc nls_utf8 nls_cp437 vfat fat rtsx_usb_ms memstick joydev x86_pkg_temp_thermal intel_powerclamp intel_rapl uvcvideo coretemp videobuf2_vmalloc kvm videobuf2_memops videobuf2_core v4l2_common crc32_pclmul videodev aesni_intel wl(PO) media ppdev iTCO_wdt aes_x86_64 lrw gf128mul iTCO_vendor_support glue_helper ablk_helper cryptd nouveau psmouse snd_hda_codec_conexant evdev efi_pstore pcspkr serio_raw snd_hda_codec_generic snd_hda_codec_hdmi efivars ideapad_laptop snd_soc_rt5640 mxm_wmi cfg80211 sparse_keymap snd_soc_rl6231 snd_soc_core ttm snd_hda_intel rfkill snd_hda_controller battery snd_compress parport_pc snd_hda_codec snd_hwdep i915
Mimo to temperatura nie spadła, dalej o 10 więcej niż pod Windows:

Kod: Zaznacz cały

sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +37.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:         +35.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:         +36.0°C  (high = +100.0°C, crit = +100.0°C)

nouveau-pci-0300
Adapter: PCI adapter
temp1:            N/A  (high = +95.0°C, hyst =  +3.0°C)
                       (crit = +105.0°C, hyst =  +5.0°C)
                       (emerg = +135.0°C, hyst =  +5.0°C)
Awatar użytkownika
Renia
Posty: 86
Rejestracja: 01 grudnia 2013, 20:37

Post autor: Renia »

Domyślnie żadne skalowanie w większości dystrybucji nie działa. Niestety. Może to wersja kernela, ja bardzo napracowałam się i skompilowałam swój pod procesory z serii Haswell dla Debiana 32 bit. Spróbuj mojego:

http://www.mediafire.com/download/wadsg ... 1_i386.deb
http://www.mediafire.com/download/y9q2o ... 1_i386.deb

Kod: Zaznacz cały

sudo apt-get update
sudo apt-get install firmware-linux-free firmware-linux-nonfree xz-utils 
sudo apt-get install linux-compiler-gcc-4.9-x86 irqbalance

W katalogu z pobranym kernelem:

Kod: Zaznacz cały

sudo dpkg -i linux-image-4.3.0-pf3-haswell-bfq_01_i386.deb
sudo dpkg -i linux-headers-4.3.0-pf3-haswell-bfq_01_i386.deb
Dodaj jeszcze go gruba tam, gdzie wstawiłeś intel_pstate:

Kod: Zaznacz cały

acpi=force acpi_osi=Linux acpi_enforce_resources=lax acpi_osi=Linux
Zrób update-grub i restart. Po nim uruchomi się system z nowym kernelem 4.3, poleceniem unane -a można to sprawdzić. W razie problemów zawsze możesz z menu gruba wybrać stary kernel więc niczym nie ryzykujesz.
kviatek
Beginner
Posty: 175
Rejestracja: 07 lutego 2015, 08:07

Post autor: kviatek »

Hej,

Dzięki za kernela, ale mam procesor 64-bit.
Domyślnie żadne skalowanie w większości dystrybucji nie działa. Niestety.
To mnie zmartwiłaś, 2 lata używałem Linuksów, nie wiedząc, że przeciążają mi porcesor. Testowałem w zeszłym tygodniu OpenSuse i także się za mocno rozgrzewał.
To poważny minus Linuksów, którego nie byłem świadomy.
Ktoś zna jakąś dystrybucję, gdzie skalowanie jest domyślnie uruchomione, albo da się to łatwo zrobić, bez tak zaawansowanych rzeczy jak kompilacja jądra?
Awatar użytkownika
Renia
Posty: 86
Rejestracja: 01 grudnia 2013, 20:37

Post autor: Renia »

kviatek pisze:Dzięki za kernela, ale mam procesor 64-bit.
Ja też mam CPU 64-bit z linii Haswell, ale system 32-bit, dlatego taki kernel.
kviatek
Beginner
Posty: 175
Rejestracja: 07 lutego 2015, 08:07

Post autor: kviatek »

Dzięki Renia za pomoc, ale nie będę tego próbować robić.
Jestem zwykłym użytkownikiem, który tylko chce żeby komputer dobrze pracował, nic więcej.
Zastanowię się co dalej zrobić. Póki, co nie będę używał Linuxa.
Pozdrawiam i dziękuję wszystkim za pomoc w temacie.
Awatar użytkownika
yossarian
Beginner
Posty: 241
Rejestracja: 28 lutego 2009, 22:46
Lokalizacja: Kraina Deszczowców

Post autor: yossarian »

Renia pisze:Domyślnie żadne skalowanie w większości dystrybucji nie działa.
Bzdury wypisujesz.
Prawidłowo działający intel_pstate ładnie schaładza procesor. Umnie ma zakres 800 MHz - 2.80 GHz w zalezności od obciążenia, a to przekłada się na mniejszy pobór mocy, a za tym idzie mniejsze wydalanie ciepła.
intel_pstate ładnie działa, ale w zupełnie inny sposób niż myślisz.

kviatek, w jaki sposób przez dotyk odczuwasz różnicę temperatur 21-37°?
37 to raptem temperatura ciała człowieka.
To co się u ciebie grzeje to najprawdopodobniej karta grafiki bez sterowników. Szczególnie jak to Optimus.
Cały ten wątek to chyba bezsensowne dyskusje nie o tym co powoduje problem.
Awatar użytkownika
Renia
Posty: 86
Rejestracja: 01 grudnia 2013, 20:37

Post autor: Renia »

yossarian pisze:Bzdury wypisujesz.

intel_pstate ładnie działa, ale w zupełnie inny sposób niż myślisz.
Instalowałam wszystkie najpopularniejsze dystrybucje i ŻADNA nie obsługiwała domyślnie skalowania ani przez intel_pstate, ani przez acpi_cpufreq dla mojego procesora. Dopiero własnoręcznie skompilowany kernel, instalacja mikrokodów i konfiguracja cpufrequtils dały rezultat. Wiem jak działa intel_pstate i jak wpływa na oszczędność energii i niższą temperaturę na CPU Haswell. Bez jakiegokolwiek działającego skalowania temperatura była wyższa i wentylator było już wyraźnie słychać. A nie mam karty Nvidii.

Nie wiem po co zabrałeś głos w tym temacie skoro nie masz nic pozytywnego, ani konkretnego do powiedzenia.

kviatek pisze:Zastanowię się co dalej zrobić.
Zainstaluj sobie Debiana Jessie lub Testing 32-bit i ten kernel, resztę według wcześniejszych wskazówek. Sterowniki do grafiki możesz nawet zainstalować w pierwszej kolejności, aby sprawdzić różnicę. Szukanie dystrybucji, która zadziała zgodnie z Twoimi oczekiwaniami może zająć dużo czasu, o ile taką w ogóle znajdziesz.
Zablokowany