LINUX.ORG.RU

Fedora, cpu

 ,


0

1

Здраствуйте народ. Ситуация следующая. Несколько месяцев нзад поставил Fedora 21. И к моему удивлению все работало отлично, до тех пор пока не прилетели обновления ядра. После этого ноутбук (lenovo y570) я стал замечать что время работы от батареи сократилось, ноутбук при работе начал больше нагреватся, и появился постоянный раздражающий вой куллера соответсвенно.

Вот к примеру результаты после примерно 15 - 20 мин. работы ноутбука без запуска каких либо приложений кроме самой DE(Gnome):

Ядро которое я получил сразу после установки:

uname -r
3.19.1-201.fc21.x86_64

sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +41.0°C  (crit = +127.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +41.0°C  (high = +80.0°C, crit = +85.0°C)
Core 0:         +39.0°C  (high = +80.0°C, crit = +85.0°C)
Core 1:         +39.0°C  (high = +80.0°C, crit = +85.0°C)

Последнее дефолтное на сегодняшний день:

uname -r
3.19.3-200.fc21.x86_64

sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +51.0°C  (crit = +127.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +51.0°C  (high = +80.0°C, crit = +85.0°C)
Core 0:         +51.0°C  (high = +80.0°C, crit = +85.0°C)
Core 1:         +49.0°C  (high = +80.0°C, crit = +85.0°C)

Тоесть разница примерно в 10 градусов при отсутствии какой либо нагрузки на процессор. Стоит bumblebee и в обоих случаях:

optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.

Может кто подскажет в чем может быть причина такого поведения? Сейчас я просто вручную выбираю старое ядро при загрузке системы, но хотелось бы разобратся что приводит к такому нагреванию на новом ядре.


Ответ на: комментарий от t184256

powertop подскажет

А как его правильно использовать что бы получить средние показатели за определенное времмя на разных ядрах? И потом как то diff-нуть их чтобы выяснить где именно проблема.

CunMun
() автор топика

Несколько месяцев нзад поставил Fedora 21. И к моему удивлению все работало отлично

Там и так все отлично работает давно, если было бы иначе, то ты не поставил бы ее.

eona
()

в top аномальная активность есть?

А вообще используй старое ядро и не заморачивайся, тем более если у тебя все работало

JB ★★★★★
()
Ответ на: комментарий от JB

А вообще используй старое ядро и не заморачивайся, тем более если у тебя все работало

Я в принципи так и делаю. Просто как по мне так это явно какой то баг. Хотелось бы знать механизм как его определить, и заодно узнать может быть еще у кого то подобная проблема присутствует.

CunMun
() автор топика
Ответ на: комментарий от JB

А как то можно diff-нуть два ядра на предмет поломки? Или там изменений будет туева туча и разбиратся придется долго?

CunMun
() автор топика
Ответ на: комментарий от CunMun

в федоре куча своих патчей, сложно будет сравнивать. Повесь в федоровской багзилле патч, пусть мейнтейнеры разбираются

JB ★★★★★
()
Ответ на: комментарий от CunMun

Я думаю, что не быстро. Кстати, есть ещё htop - такой улучшенный top. Долго и нудно смотреть, что грузит процессор. А потом смотреть в старом ядре, чего нет из того, что грузило процессор в новом.

Можно ещё почитать changlog'и, что там изменено в ядре (но тогда желательно выяснить, в какой версии ядра это началось), и отслеживать только эти изменения. А может, изменился какой-то драйвер (модуль ядра), и проблема в нём, а не в ядре в целом. В общем, вариантов масса.

aureliano15 ★★
()
Ответ на: комментарий от JB

Тоже мысль. Но вряд ли они будут разбираться, раз система грузится, просто проц греется чуть сильнее. Скорее всего или сразу закроют баг, не решив, или он так и будет у них годами висеть открытым. :-)

А вот если показать им конкретно, где проблема, то вероятность какой-то реакции будет выше, я думаю, хотя и в этом случае могут забить.

aureliano15 ★★
()
Ответ на: комментарий от aureliano15

если не написать, тогда точно не узнаешь забьют они или починят

JB ★★★★★
()
Ответ на: комментарий от aureliano15

Я смотрел htop на глаз определить разницу очень трудно. Если бы можно было заставить показать средние данные по процессам за определенный период то может так можно было бы уловить какую то разницу. А так я ощущаю разницу только по температуре, звуку куллера и автономности работы от батареи. И эта разница существенная (+ 10 градуссов).

CunMun
() автор топика
Ответ на: комментарий от CunMun

Тогда остаётся только пересобирать ядро вручную из исходников с разными опциями, выкидывая из него поочерёдно различные фичи и модули, чтобы методом исключений локализовать проблему.

Ну, или сообщить о баге и надеяться, что они его починят, а пока мест пользоваться старым ядром.

aureliano15 ★★
()
Ответ на: комментарий от CunMun

А ведь можно вычислить среднее

Кстати, подумалось, а что мешает создать маленький скрипт для вычисления среднего наподобие этого:

#!/bin/bash

function average()
{
  cat a.txt | awk '{printf $1; av=0; for(i=2; i<=NF; ++i) \
av+=$i; av/=(NF-1); print " " av}' | sort -rk2 | \
tee average.txt

  exit 0;
}

trap average SIGINT

top -n1 | sed '1,7d' | awk '{print $2 ":" $13 " " $10}' | \
sort -k1 > a.txt;

while true;
 do
  top -n1 | sed '1,7d' | awk '{print $2 ":" $13 " " $10}' | \
sort -k1 > b.txt; join -j 1 a.txt b.txt > o.txt;

  mv o.txt a.txt;
done

Скрипт прерывается нажатием Ctrl+C. Во время его работы разрастается a.txt. По прерыванию вычисляется среднее и помещается в average.txt. Перед повторным запуском a.txt надо удалить (чтоб не учитывать результаты предыдущих запусков). Пока курил, a.txt разросся до 44 Кб. из менее чем 1 Кб. (в общем-то, не так сильно, ящетаю :-).

Вот вывод 1 из строчек a.txt на моей машине (полностью файл не показываю, чтоб зря не спамить, там в остальных полях всё равно одни 0):

2684:firefox 6 4 6 6 4 8 6 4 6 6 6 6 4 6 6 6 4 6 6 6 6 4 4 6 6 4 6 6 6 8 4 6 6 6 4 8 4 4 6 6 4 6 6 4 6 6 6 6 4 8 4 6 6 6 6 6 6 6 4 6 6 6 6 4 6 6 4 6 6 4 4 6 6 6 6 6 6 4 6 4 6 4 6 6 6 6 6 6 4 6 6 6 4 8 6 4 4 6 4 6 6 4 4 6 4 8 4 8 4 4 6 6 6 6 4 6 4 8 4 4 8 4 4 6 4 6 6 6 4 4 4 4 4 8 4 4 2 6 8 6 4 6 6 8 6 4 4 6 4 6 6 4 6 4 6 8 6 4 4 6 6 6 6 6 6 6 4 8 4 6 6 6 4 6 6 6 4 8 6 6 6 6 4 8 4 6 4 6 6 4 4 8 4 8 6 6 4 8 6 4 8 4 4 8 4 6 2 6 6 4 6 6 6 6 4 6 2 6 4 6 6 6 4 4 6 6 6 6 4 6 4 6 6 4 4 4 6 6 4 6 6 6 4 6 6 6 4 6 4 8 4 6 6 6 6 6 6 4 6 6 6 6 6 4 6 6 4 6 4 6 4 6 4 4 6 4 6 4 4 6 4 6 4 8 6 6 4 6 4 8 4 8 4 6 4 6 6 4 6 6 4 6 4 4 6 6 4 6 6 6 4 4 6 4 29 6 6 4 10 4 4 6 4 6 4 6 4 6 4 4 4 8 2 4 4 4 4 6 6 4 6 4 6 6 4 6 6 6 6 6 4 6 6 4 6 6 4 6 6 6 4 6 4 6 4 6 6 4 8 4 4 8 4 6 4 4 4 6 6 6 6 6 4 4 6 6 6 6 4 4 6 6 6 4 8 4 6 6 6 6 4 6 6 6 6 6 6 6 4 6 6 6 6 6 4 8 6 6 4 8 4 4 4 4 6 6 4 4 6 4 6 8 6 4 8 6 4 6 6 4 4 6 4 8 4 6 4 6 4 8 6 6 6 4 4 6 4 6 4 8 6 6 6 4 6 6 6 4 4 8 4 6 4 6 6 6 4 8 2 6 4 6

А вот файл average.txt:

2684:firefox 5.43776
9:rcuos/1 0.0497925
8:rcuos/0 0.0414938
7:rcu_sched 0.0414938
40:khugepaged 0.00829876
65:scsi_eh_4 0
62:scsi_eh_3 0
61:scsi_eh_2 0
5:kworker/0:0H 0
59:scsi_eh_1 0
58:scsi_eh_0 0
55:kthrotld 0
43:crypto 0
42:ecryptfs-kthrea 0
41:fsnotify_mark 0
3:ksoftirqd/0 0
39:ksmd 0
38:kswapd0 0
37:khungtaskd 0
35:devfreq_wq 0
34:md 0
33:khubd 0
32:ata_sff 0
31:kblockd 0
30:kworker/u9:0 0
2:kthreadd 0
29:bioset 0
28:kintegrityd 0
27:writeback 0
26:netns 0
25:kdevtmpfs 0
24:khelper 0
23:kworker/1:0H 0
21:ksoftirqd/1 0
20:migration/1 0
1:init 0
19:watchdog/1 0
18:watchdog/0 0
17:migration/0 0
16:rcuob/3 0
15:rcuob/2 0
14:rcuob/1 0
13:rcuob/0 0
12:rcu_bh 0
11:rcuos/3 0
10:rcuos/2 0

В первой колонке - PID, далее после ":" - имя процесса (эта пара является ключом), далее среднее процессорное время за период работы скрипта. Файл отсортирован по последней колонке по убыванию.

Кстати, а откуда такая уверенность, что виновато ядро? Ведь могло обновиться что-то ещё. Даже если при последнем обновлении обновлялось только ядро, другие пакеты могли обновиться раньше, а ты мог заметить тормоза не сразу. Я бы для чистоты эксперимента загрузился в консоли и поубивал бы все процессы, какие только можно.

aureliano15 ★★
()

к моему удивлению все работало отлично

вот чтобы не удивляться, ставь Gentoo

armbox
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.