LINUX.ORG.RU

Как в регистре изменить предельные мощности старого CPU

 , ,


0

1

На ноуте ProBook 4530s 2011 года: рассчитанном на 35 Ват i5 - стоит много мощнее 45 Ват Core_i7-2760QM - который при нагрузке развивает до 55 Ват. При долгой нагрузке: перегрев вырубает ноут.

По умолчанию: стоят не оптимальные настройки мощностей:

admin@Gentoo-KDE ~ $ sudo intel-undervolt read
CPU (0): Input/output error
GPU (1): Input/output error
CPU Cache (2): Input/output error
System Agent (3): Input/output error
Analog I/O (4): Input/output error
 
Warning: MSR and memory values are not equal
Warning: package power limit is locked
Short term package power: 56 W, 0.001 s, enabled
Long term package power: 45 W, 28.000 s, enabled

Critical offset: -1°C

Как видно: утилиты типа undervolt - еще не работают на данном CPU.
Нашлось как менять Critical offset TjMax - что делаю при загрузки - и это решает проблему перегрева CPU.

#!/bin/bash

#####            This is: /etc/local.d/Run-at-boot.start

wrmsr --all 0x1a2 $(( (100-85) << 24))  #  to set TjMax=85 
cpupower frequency-set -g schedutill

modprobe zram
algo=zstd
###  В теории:  zram сжимает от ~1.8 раз lzo - и до ~3 раз zstd
###  Сжатие падает:  zstd  lz4  lzo   Время сжатия растет:  lzo  zstd  lz4
SIZE=1024
SIZE=$SIZE*24
echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize
#                           /sys/devices/virtual/block/zram0/   zram1
 mkswap /dev/zram0
 swapon /dev/zram0 -p 10

# mkfs.ext4 /dev/zram0
# mount -m  /dev/zram0  /var/tmp

Однако желательно увеличить время в параметрах ниже

Short term package power: 56 W, 0.001 s
Long term package power: 45 W, 28.000 s

— 1). Как и где в регистре изменить эти параметры ?
— 2). Как и где задать эти параметры при компиляции ядра ?

Понижение рабочего напряжения (undervolt) – это плохо. А плохо по той причине, что у любого pn-перехода есть некое пороговое напряжение, ниже которого переход начинает нестабильно или не полностью открываться. Это приводит к нестабильной работе схемы, как минимум.

Однако желательно увеличить время в параметрах ниже

Не уверен, что это можно изменить в принципе, потому что это параметры, характеризующие данный процессор и, скорее всего, заданы на аппаратном уровне.

mkswap /dev/zram0
swapon /dev/zram0 -p 10
# mkfs.ext4 /dev/zram0
# mount -m  /dev/zram0  /var/tmp

Последние две команды не имеют смысла.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 4)

При долгой нагрузке: перегрев вырубает ноут.

Дай ему охлаждение. Если-уж даже с этим не справляется система охлаждения, то увеличение мощности вообще бессмысленно.

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

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)

Ты систему охлаждения-то обслужил?

Zhbert ★★★★★
()

С такой системой охлаждения как в твоём ноуте - только понижать частоту.

У меня есть ноут тоже примерно 2011 года, тоже поставил i7Q 3-го поколения с Tdp 45 вместо родного i5 или даже i3 с tdp 35, но у меня две тепловые трубки, они в принципе больше, каждая, чем твоя одна.

Ну и сам ноут на этой платформе был с процами большего TDP, посмотри модификации твоего ноута, может есть с другими процами и системами охлаждения более мощными, купи и поменяй тогда тепловые трубки от более мощной модели.

kostik87 ★★★★★
()

Поддержу про понижение частоты, это ж первое что в голову приходит и работает вроде везде без проблем.

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

Последние две команды не имеют смысла.

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

firkax ★★★★★
()

Однако желательно увеличить время в параметрах ниже

Я бы посмотрел сначала меняется ли это время через виндовую ThrottleStop. Если меняется, то из под linux сдампил бы регистры msr и поискал среди них значение 28. Оно может быть задано по-разному, в секундах, в мс, в мкс

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

Я бы посмотрел сначала меняется ли это время через виндовую ThrottleStop. Если меняется, то из под linux сдампил бы регистры msr и поискал среди них значение 28. Оно может быть задано по-разному, в секундах, в мс, в мкс

В Win11 в ThrottleStop_9.7.3 по умолчанию изменения заблокированы верхний рисунок тут - но при постановки галочек - все параметры ниже меняются (см. нижний рисунок)

Short term package power: 56 W, 0.001 s, enabled
Long term package power: 45 W, 28.000 s, enabled

—– Как теперь все это перенести в Linux ?

Остальные посты: не имеют отношение к вопросу.

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

Купи: типичный совет потратить на другой комп - полу-годовую украинскую пенсию (из которой 50% только на коммуналку).

—– Может кто из праздно советующих объяснит: как улучшить охлаждение ноута - у которого уже свободный доступ к процу: Ничтожно суятять - выломал в днище (что закрывается съемной крышкой) ноута - оконце над процем - и ничего не разбирая ноут на части - заменил проц

Снижение мощности, частоты, можно отключить Turboboost - все это понижение производительности.
А задача совсем обратная: выжать все возможное из имеющего.

Смысл максимально мощного проца: такой быстрее «проглатывает» короткие нагрузки - которые больше раздражают - но не успевают перегреть.
А от длительных нагрузок: спасает уже найденное снижение TjMax=85

При максимальной нагрузке: ноут отрубается через 7-9 минут.
Поэтому можно увеличить времена максимальной мощности - минут до 5.

Для меня пока темный лес: дампить регистры msr и поискал среди них значение 28

Посоветовали бы лучше: как все таки задать эти значения в регистре.
Раз задается: wrmsr --all 0x1a2 $(( (100-85) << 24)) # to set TjMax=85 - то и другие должны задаваться подобно.

Насчет скрипта /etc/local.d/Run-at-boot.start - тут собрано все - что запускается при загрузки линя.
Компиляция хрома требует 12 гб памяти и 19 гб /var/tmp И компиляцию - лучше делать в памяти.
А в ноуте: всего 8 гб памяти. Вот и проверял: что лучше в zram - вот и остались варианты в скрипте.

Оптимально оказалось как в скрипте. Так при 8 гб памяти: и хром компилируется в заданном 24 гб /var/tmp в памяти и в памяти задана 32 гб /tmp

Так и при 8 гб памяти - выполняется компиляция хрома.

—– Все же может кто знает: как не ковыряясь долго в регистре - изменить времена:

Short term package power: 56 W,  30 s
Long term package power:  45 W, 300 s
alex52mail
() автор топика
Последнее исправление: alex52mail (всего исправлений: 1)

Нафейхоа ты камень менял если охлаждение на него не рассчитано? Модернизируй охлад или возвращай как было.

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

Нафейхоа ты камень менял если охлаждение на него не рассчитано? Модернизируй охлад или возвращай как было.

Еще один постоянный троль: с советами не по вопросу в каждой теме.
Как пришлось перейти на линь и стал активно выяснять новые для меня проблемы - тут набросились десятки троллей - и только ДВОЕ дали дельные советы - что помогло мне решить вопрос ==> через 4 дня прихода в новую тему: скомпилировал свой первый Gentoo.
Также: и тут только OДИН дал совет - что помогло решить вопрос с перегревом.
Похоже специфика форума: продираться сквозь кучу троллей.

Хорошо что вас не спросил: когда менял камень - за малые $18 деньги получив в 2 раза быстрее комп - что проверено измерением времени выполнения тех же задач.

!!!!! Повторюсь: задача выжать все возможное из того что имеется - не тратя много бабла.

Смысл максимально мощного проца под чип на материнки: такой быстрее «проглатывает» короткие нагрузки - которые больше раздражают - но не успевают перегреть. А от перегрева при длительных нагрузках: спасает уже найденное снижение TjMax=85

Для замены проца в ноутах НР: надо разобрать ВЕСЬ ноут - раскручивая 138 винтиков - что вызов для не профи со зрением пенсионера - особенно без нужных инструментов.
Выломал в днище (что закрывается съемной крышкой) ноута - оконце над процем - и не разбирая ноут на части - легко и быстро меняю проц\пасту
Так паста свежая, и до половины ноута свисает с тумбочки в воздухе с максимальным воздухо обменом. Больше для охлаждения ДАННОГО ноута - не сделать.
Менять мощность проца: желательно в регистре при загрузке - а не в ядре. Охлаждение сильно отличается летом и зимой - и легче менять в регистре.
Зимой просто выносил проблемные ноуты на балкон: и они работали с полной нагрузкой - без каких либо ограничений.

Этот б\у ноут за ~$100 после модернизации: с мощнее 45 Ват Core_i7-2760Q - полностью удовлетворяет.
Работают самые последние версии Windows-25H2 и Linux. Нет раздражающих зависаний в браузере, смотрятся 2160p60 youtube видео.
Перегрев при длительной архивации и компиляции. Но и это можно делать без перегрева - но дольше - типа компиляция с make -j2 -l2

Поэтому: вопрос более в понимании и оптимизации нахождения решений - а не в вынужденной необходимости компа мощнее.

Например компиляция хрома: не начинается - без 12 гб памяти и 19 гб /var/tmp - где идет компиляция. И компиляцию тысячи мелких файлов: лучше делать в памяти.
А в ноуте: всего 8 гб памяти. Но монтируя в tmpfs /var/tmp и 32 GB /tmp и создавая 24 гб zstd zram swap - хром компилируется и с 8 гб памяти и на всех потоках CPU с максимальным make -j8 -l8

Что касается вопроса топика.

Все рекомендованные утилиты: еще не работают на данном проце. Изменения надо делать прямо в регистре при загрузке ОС.

По совету - проверено - параметры мощностей CPU - меняются в данном проце.

—– 1). Буду благодарен если объяснят как: … из под linux сдампил бы регистры msr и поискал среди них значение 28

А пока продолжу искать кто знает как в регистре изменить что ниже: по аналогии как советовали менять wrmsr --all 0x1a2 $(( (100-85) << 24)) # to set TjMax=85

Short term package power: 56 W,  30 s
Long term package power:  45 W, 300 s

Хотелось бы выяснить еще вопрос: который конечно для отдельной темы - но начну тут.
В руководстве ноута 2011 года указано 8 гб памяти. Но ноут работает и с 16 гб памяти.
Только скорости всего что в памяти (tmpfs Linux; in Windows: UWF, PrimoCache, PrimoRamDisk, other RamDisk) - при 16 гб памяти - в 8-10 раз ниже - чем при штатной 8 гб памяти
Смотрел config ядра: но не нашел что там менять.

—– 2). Можно ли что изменить при компиляции ядра: чтобы 16 гб память работала со штатной скоростью ?

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

Ты понимаешь, что ноутбук - не настольный компьютер, что он не так просто поддается модернизации? Скорее всего, там банально некуда выводить горячий воздух, даже если кулер поставить мощнее. Если у тебя вообще кулер, а не теплотрубка, припаянная добрым китайцем. Китаец рассчитывал, что тот процессор, который он туда впихнул, охлад выдержит, но появился умный alex52mail с Украины и нагло попрал ногами ожидания производителя, потужно вставив процессор, который всяко жрет больше электричества и греется больше. И вот из-за 300 мегагерц alex52mail думает как теперь ему задушить процессор на 600 мегагерц, чтобы оно хоть как-то работало, подпирая это всё со всех сторон костылями.

Еще раз, у меня такая проблема была, я с ней сталкивался, решается либо урезанием частоты CPU, либо заменой комплектующих на адекватные, больше никак.

LongLiveUbuntu ★★★★★
()
Последнее исправление: LongLiveUbuntu (всего исправлений: 1)
Ответ на: комментарий от alex52mail

Скажи, а реально ты чем занимаешься на этих компах? Ну не ядра же компиляешь.

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

А андервольты - на большинстве процов мобильных заблокированы. По крайней мере так они сами пишут. И или тебе сидеть и впирать на msr для КАЖДОГО компа отдельно, или не заниматься ерундой. Ты пробдлишь компу жизни на пол года не больше.

R_He_Po6oT ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.