Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Eugene Grosbein                      2:5006/1       28 Feb 2008  21:10:12
 To : All
 Subject : passive cooling
 -------------------------------------------------------------------------------- 
 
 Привет!
 
 Одноюнитовый сервер (одно ядро P4 2Ghz)под FreeBSD 6.3-PRERELEASE был найден
 мертвым^W погашенным, хотя должен работать постоянно.
 После включения в логах обнаружилась запись:
 
 root: WARNING: system temperature too high, shutting down soon!
 
 После чего - признаки корректного гашения системы и, очевидно,
 последовавшего выключения питания. Оказалось, это штучки acpi_thermal(4),
 который обнаружил, что температура процессора поднялась выше 70C
 и, по-простому, вырубил её. 70C ядро взяло из настроики BIOS,
 можно переопределить, но опасно - этот сервер раньше уже тупо вис
 при перегреве процессора, когда работал под 4.11-STABLE.
 Машинка практически только накануне была пропылесосена в процессе
 добавления памяти, после чего нагрузка на сервер была увеличена,
 процессор чащё стал быть загружен до 100% или около того
 (раньше практически простаивал).
 
 Заказали кулеры получше, но надо бы дожить до их прихода, а впереди
 выходные, когда periodic weekly загрузит CPU по самое немогу.
 Почитал про passive cooling - шестерка умеет автоматически сбрасывать
 тактовую частоту на P4 при превышении hw.acpi.thermal.tz0._PSV,
 но для этого нужно подгрузить модуль cpufreq.ko, при загрузке он сказал:
 
 p4tcc0: <CPU Frequency Thermal Control> on cpu0
 
 sysctl dev.cpu показывает:
 
 dev.cpu.0.%desc: ACPI CPU
 dev.cpu.0.%driver: cpu
 dev.cpu.0.%location: handle=\_PR_.CPU0
 dev.cpu.0.%pnpinfo: _HID=none _UID=0
 dev.cpu.0.%parent: acpi0
 dev.cpu.0.cx_supported: C1/0
 dev.cpu.0.cx_lowest: C1
 dev.cpu.0.cx_usage: 100.00%
 dev.cpu.0.freq: 1995
 dev.cpu.0.freq_levels: 1995/-1 1745/-1 1496/-1 1246/-1 997/-1 748/-1 498/-1
 249/-1
 
 sysctl hw.acpi.thermal показывает:
 
 hw.acpi.thermal.min_runtime: 0
 hw.acpi.thermal.polling_rate: 10
 hw.acpi.thermal.user_override: 1
 hw.acpi.thermal.tz0.temperature: 54,0C
 hw.acpi.thermal.tz0.active: -1
 hw.acpi.thermal.tz0.passive_cooling: 1
 hw.acpi.thermal.tz0.thermal_flags: 0
 hw.acpi.thermal.tz0._PSV: 70,0C
 hw.acpi.thermal.tz0._HOT: -1
 hw.acpi.thermal.tz0._CRT: 75,0C
 hw.acpi.thermal.tz0._ACx: 70,0C -1 -1 -1 -1 -1 -1 -1 -1 -1
 
 Тут hw.acpi.thermal.tz0._PSV и hw.acpi.thermal.tz0._CRT выставил я.
 
 Запускаю bzip2 -tvv файл-на-300-мегабайт.bz2, в другой сессии
 работает mbmon -I, с некоторым интервалом показывая температуру,
 его вывод совпадает с sysctl hw.acpi.thermal.tz0.temperature.
 Вижу, что температура растет, вывод mdmon в процессе:
 
 Temp.= 37.0, 52.0, 66.0; Rot.= 9375, 12980,    0
 Vcore = 1.50, 0.37; Volt. = 3.31, 5.11, 10.94, -11.57, -1.28
 
 Ядро пишет в syslog (debug.cpufreq.verbose включен):
 
 Feb 28 19:44:28 xxx kernel: cpufreq: get returning known freq 1995
 Feb 28 19:44:49 xxx last message repeated 11 times
 Feb 28 19:45:44 xxx last message repeated 40 times
 
 Если вручную менять dev.cpu.0.freq, выбирая значения из
 dev.cpu.0.freq_levels, то bzip2 начинает медленнее выводить свои строчки
 и температура уменьшается. Если не трогать, то при достижении 70C
 в логе возникает такое (с одним и тем же timestamp):
 
 kernel: cpufreq: get returning known freq 1995
 kernel: cpufreq: adding 8 relative settings
 kernel: cpufreq: adding abs setting 1995 at head
 kernel: cpufreq: expand set added rel setting 100% to 1995 level
 kernel: cpufreq: dup set considering derived setting 1745
 kernel: cpufreq: removed last relative driver: p4tcc0
 kernel: cpufreq: dup done, inserting new level 1745 after 1995
 kernel: cpufreq: expand set added rel setting 87% to 1745 level
 kernel: cpufreq: dup set considering derived setting 1496
 kernel: cpufreq: removed last relative driver: p4tcc0
 kernel: cpufreq: dup done, inserting new level 1496 after 1745
 kernel: cpufreq: expand set added rel setting 75% to 1496 level
 kernel: cpufreq: dup set considering derived setting 1246
 kernel: cpufreq: removed last relative driver: p4tcc0
 kernel: cpufreq: dup done, inserting new level 1246 after 1496
 kernel: cpufreq: expand set added rel setting 62% to 1246 level
 kernel: cpufreq: dup set considering derived setting 997
 kernel: cpufreq: removed last relative driver: p4tcc0
 kernel: cpufreq: dup done, inserting new level 997 after 1246
 kernel: cpufreq: expand set added rel setting 50% to 997 level
 kernel: cpufreq: dup set considering derived setting 748
 kernel: cpufreq: removed last relative driver: p4tcc0
 kernel: cpufreq: dup done, inserting new level 748 after 997
 kernel: cpufreq: expand set added rel setting 37% to 748 level
 kernel: cpufreq: dup set considering derived setting 498
 kernel: cpufreq: removed last relative driver: p4tcc0
 kernel: cpufreq: dup done, inserting new level 498 after 748
 kernel: cpufreq: expand set added rel setting 25% to 498 level
 kernel: cpufreq: dup set considering derived setting 249
 kernel: cpufreq: removed last relative driver: p4tcc0
 kernel: cpufreq: dup done, inserting new level 249 after 498
 kernel: cpufreq: expand set added rel setting 12% to 249 level
 kernel: cpufreq: setting rel freq 8750 on p4tcc0 (cpu 0)
 kernel: cpufreq: saving level, freq 1995 prio 100
 kernel: cpufreq: get returning known freq 1745
 kernel: cpufreq: adding 8 relative settings
 kernel: cpufreq: adding abs setting 1995 at head
 kernel: cpufreq: expand set added rel setting 100% to 1995 level
 
 Потом через 5 секунд:
 
 kernel: cpufreq: get returning known freq 1745
 
 И опять куча строчек подобным тем что выше.
 Потом через 2 секунды ещё кучка строчек, в конце:
 
 kernel: cpufreq: dup done, inserting new level 249 after 498
 kernel: cpufreq: expand set added rel setting 12% to 249 level
 kernel: cpufreq: get estimated freq 1995
 kernel: acpi_tz0: failed to set new freq, disabling passive cooling
 
 После чего hw.acpi.thermal.tz0.passive_cooling оказывается нулём,
 что меня смущает, температура продолжает расти дальше.
 
 Что я делаю не так?
 
 Eugene
 -- 
 Hужно безжалостно отрывать башку всякому, кто порочит высокое звание гуманиста!
 --- slrn/0.9.8.1 (FreeBSD)
  * Origin: Svyaz Service JSC (2:5006/1@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 passive cooling   Eugene Grosbein   28 Feb 2008 21:10:12 
 passive cooling   Maxim Sokolsky   28 Feb 2008 18:45:22 
 Re: passive cooling   Eugene Grosbein   28 Feb 2008 23:36:30 
 Re: passive cooling   Eugene Grosbein   29 Feb 2008 01:52:56 
 Re: passive cooling   Andriy Gapon   28 Feb 2008 23:06:39 
 passive cooling   Andrew Kant   28 Feb 2008 22:07:12 
 Re: passive cooling   Valentin Nechayev   10 Mar 2008 19:20:32 
 Re: passive cooling   Eugene Grosbein   07 Mar 2008 01:15:08 
Архивное /ru.unix.bsd/260933fe33a68.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional