LINUX.ORG.RU

Умираю от жары, помогите раскидать процессы по ядрам!

 , ,


0

2

В комнате трудно дышать, пот льется ручьем, запах расправленного китайского пластика по всей квартире, виновник i9-14900K.

Когда запускаю программу, процессор сильно нагревается.

Я хочу выделить программе 8 ядер, и заставить Linux перекидывать процесс между ядрами, так, что бы они не нагревались, с горячих на холодные, но как это сделать?

Через taskset можно задать ядра, а как раскидывать процессы на основе температуры? Ядро 6.9.9

Водяное охлаждение не предлагать, оно уже есть! Все окна раскрыты, но дом превращается в сауну!

--- Нашел решение ---

thermald работает замечательно, спасибо krasnh!

Перемещено hobbit из general

★★★★★

Последнее исправление: MOPKOBKA (всего исправлений: 5)
Ответ на: комментарий от Shushundr

Безумный совет, через taskset можно ограничить на 8 ядер, и не надо никаких виртуалок. У меня главная проблема, в том как раскидать процессы по холодным ядрам, и перемещать их так, что бы процессор остывал.

MOPKOBKA ★★★★★
() автор топика

Все окна раскрыты, но дом превращается в сауну

Имхо окна имеет смысл открывать только если наружняя температура меньше внутренней. Надо делать так: ночь с открытыми окнами. Днём закрытые. Вряд-ли проц прогреет квартиру (вместе со стенами).

anonymous
()

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

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

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

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

А вообще, надо расковырятт шедулер и вместо загруженности процессора заставить его использовать температуру... Но это какой-то совсем изврат. Ну и поставь лимиты программе <50% цпу.

Shadow ★★★★★
()

А thermald не спасет «отца русской демократии»? )

thermald - это демон Linux , используемый для предотвращения перегрева процессоров Intel. Этот демон активно управляет тепловыми параметрами с помощью P-состояний, T-состояний и драйвера Intel power clamp.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 2)
Ответ на: комментарий от MOPKOBKA

поставил, сейчас протестирую

Наверно не все так просто, в соседней теме пришлось под него ядро пересобирать:

Почитал выхлоп thermald, скачал сырцы я дра с кернел.орг и собрал свое ядро с подержкой powerclamp и RAPL
Pathfinder: Kingmaker (комментарий)

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

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

Я хочу выделить программе 8 ядер

cgroups/firejail

и заставить Linux перекидывать процесс между ядрами

Между ядрами оно перекидывается исходя из процентной загрузки, процентная загрузка зависит от частоты, если ядро долбится в сотку, но на деле там в сотку долбится только FPU блок например, при этом физически он в сотке, а в процентах на 50%, можно снизить его частоту тогда он и так и так будет долбится в сотку так как при снижении частоты вырастает процен загрузки и задача перекидывается автоматом на более свободное ядро.

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

Я такой фигнёй занимался, вроде работало, хотя может это было плацебо фиг знает.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

cgroups/firejail

taskset -c 0,8 mycommandname, в слаке из коробки, что то стандартное.

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

Тротлить не хочется, хочется перебрасывать процессы, но вроде thermald хорошо себя показывает, порекомендовали выше, еще сейчас соберу chromium скажу.

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

thermald хорошо себя показывает

Первый раз слышу про это, интересно как оно работает, мне казалось просто взять ядру и сказать, «как только ядро процессора 1 оттарабанит свою задачу, продолжай её на ядре 2» невозможно. Хмььььььььььььььььььь🤔, а оказывается типа можно (но это не точно)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

А я не знаю как оно работает, может не так, еще сам не читал. Вот тебе Firefox-перевод описания задействованного модуля ядра.

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

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

Удоли от греха подальше \O_O/

А на деле оно задействует различные косвенные механизмы, в зависимости от того что доступно на системе. От управления вертушкой разгоняя её или замедляя, до управления частотой через cpufreq, оно там вообще во все щели лезет пытаясь найти в системе рычажки для управления чем угодно что приводит к фактическому управлению температурой, охлад, частоты, приоритеты (кажется). А вот чего-то связанного с процессами и ядром я поглядев на сырцы по диагонали не нашёл. Там файлов дофига, может где и есть. Ну если комплексные меры приводят к более эффективному отводу тепла от камня динамически подстраиваясь, то пофиг как там оно работает.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

А без thermald процесс долбился в одно ядро? Я просто не раз наблюдал в системном мониторе как ядра работают то одно, то другое. Посмотрел, thermald стоит. Если это он всё так организует. то хорошая штука.

avgust23
()
Ответ на: комментарий от PPP328

В ОП посте написал:

Водяное охлаждение не предлагать, оно уже есть! Все окна раскрыты, но дом превращается в сауну!

Или предлагается подключить к водянке еще такой? https://www.coolershop.ru/image/cache/catalog/kulery/klassicheskie/Ecotronic-...

MOPKOBKA ★★★★★
() автор топика

Погляди на фото кристалла, где там ядра и какую они площадь занимают. По отдельности они прям вот греться не могут.

Водяное охлаждение не предлагать, оно уже есть!

Если уже есть что-то типа MO-RA3, просто добавь воды^Wещё одну-другую секцию )

GAMer ★★★★★
()

Умираю от жары...

Кинь дурное. Вырубай всё и клади тушку на диван. Станет прохладнее, тогда включишь свою печку.

...запах расправленного китайского пластика по всей квартире, виновник i9-14900K...

Небось в ноуте сия поделка торчит?

sparkie ★★★★★
()

У меня так было на FX и это еще в те времена когда хватало БП на 500вт. Хотя оно и понятно, даже от лампочки 60 ватт летом жарко, а тут если еще 400 ватт под ногами то совсем не весело.

Aber ★★★★★
()

если у нас ннесколько кристаллов или хотя-бы чиплетная сборка то наверное это имело бы смысл. Но если на одном кристалле - то смахивает на форму онанизма. Ну да там есть разница между хоспотом и какими-то дальними углами но уж в плане нагрева толку мало.

Даже наоборот - в текущем сетапе процессор улетит троттлить по хотспоту и суммарно жрать и соответственно греться будет меньше.

И кстати в противоположность теме - не пробовали ли уважаемые джентльмены наоборот временно выводить несколько ядер из оборота? Смысл примерно в следующем - ноут от батареи на офисной нагрузке. Тут по большому счету не нужно 8 жирных ядер 16 потоков, без потери производительности можно смело вырубать половину. Но скедъюлер настроен именно на выжимку производительности - и вместо того чтобы немного потупить и закинуть очередную мелкую задачу в очередь к уже работающему ядру будит еще одно - соответственно платим цену за вывод ядра из энергосберегающего C-стейта, потом на усыпление его обратно и все ради сомнительных тестов в попугаях.

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

Qui-Gon ★★★★★
()

thermald работает замечательно

Можно ещё глянуть Irqbalance https://github.com/Irqbalance/irqbalance

Irqbalance is a daemon to help balance the cpu load generated by interrupts across all of a systems cpus. Irqbalance identifies the highest volume interrupt sources, and isolates each of them to a single unique cpu, so that load is spread as much as possible over an entire processor set, while minimizing cache miss rates for irq handlers.

виновник i9-14900K.

Alderon Games публично заявила о дефективности CPU Intel

процессоры Intel 13 и 14-ого поколений, изначально исправно работающие, со временем начинают давать сбои, частота которых растёт по нарастающей до полного отказа процессора.

anonymous
()

Все окна раскрыты, но дом превращается в сауну!

выделить программе 8 ядер, и заставить Linux перекидывать процесс между ядрами, так, что бы они не нагревались, с горячих на холодные

Если цель снизить мощность нагрева, то гонять процессы с горячих ядер на холодные просто не имеет смысла, потому что без разницы, какое из ядер выделяет свои, скажем, 15 Ватт. По сути ты просто смещаешь нагреватель на пару миллиметров в сторону.

Более того, перемещение процесса на холодные ядра может усилить нагрев, потому что холодные ядра будет буститься, пока их температура не дойдёт до заветных 95°C. А если оставить процесс на уже прогретом ядре, частоты и тепловыделение будут меньше.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

Это, конечно, правда, и разница там может получиться приличная, процентов 10-20%. Но пересилит ли это за разницу между бустом и номинальной мощностью для отдельных ядер, тот ещё вопрос.

i-rinat ★★★★★
()

В комнате трудно дышать, пот льется ручьем, запах расправленного китайского пластика по всей квартире, виновник i9-14900K.

Я правильно понимаю что на 14900K денюжка нашлась, а на кондей - нет?

bugfixer ★★★★★
()

В комнате трудно дышать, пот льется ручьем, запах расправленного китайского пластика по всей квартире, виновник i9-14900K.

Принеси хозяюшка водицы напиться, а то так жрать хочется что аж переночевать негде.

Jameson ★★★★★
()