Начнем с небольшой истории:
- 2016 год: Создание маломощного ПК на Skylake — 10 ватт бездействия
- 2019: 9 Вт в режиме ожидания: создание маломощного домашнего NAS / файлового сервера с 4 накопителями
- 2021: (без записи) — 11 Вт с использованием Intel i3-10320 на Gigabyte H470M DS3H
Не все мои системы были столь успешны. В 2022 году в рамках проекта Снижение энергопотребления AMD Radeon при работе с несколькими мониторами я измерил еще пару систем на 19 и 27 ватт. Хотя мне и удалось снизить мощность 27-ваттной системы AMD некоторое время спустя, не каждый процессор/материнская плата могут быть рассчитаны на 10 ватт.
—
Прежде чем продолжить, отметим, что 7 ватт для этой системы были получены до добавления хранилища. В эти 7 ватт (измеренные на стене) входят:
- Материнская плата (Intel H770)
- Процессор (Intel i5-12400)
- 64 ГБ оперативной памяти
- SSD (загрузка Ubuntu Server 23.04)
- Блоки питания (Corsair)
- Состояния C настроены в BIOS таким образом, что достигают C8
- powertop с автонастройкой (которая отключала USB-клавиатуру, когда порт переходил в спящий режим)
Обратите внимание, что если я не позволяю powertop отключить клавиатуру, я получаю 8 ватт, измеренных на стене.
—
Перейдем к подробным характеристикам и выбору компонентов. В этот раз я преследовал следующие цели:
- низкое энергопотребление на холостом ходу
- разумная производительность процессора для сжатия данных
- возможность работы с 12 жесткими дисками + как минимум 1 NVMe
- возможность (со временем) преобразовать эти 12 жестких дисков в 6 NVMe + 6 SSD SATA
- держите расходы под контролем — поскольку потребуется покупка материнской платы, постарайтесь придерживаться DDR4 и использовать процессор, который у меня уже есть.
Сборка новой системы с надеждой уложиться в 10 ватт *измеренных от стены* часто является не только вызовом, но и некоторой авантюрой. Иногда нужно просто взять свои лучшие обоснованные предположения относительно компонентов, собрать свою систему, настроить все, что можно, и пусть фишки падают, куда хотят.
Материнская плата — ASUS Prime H770-Plus D4
Прежде чем я начну, вот краткий обзор схемы материнской платы. Зеленые слоты, подключенные к процессору, и оранжевые слоты, подключенные к чипсету, будут иметь значение на протяжении всей статьи.
На момент написания статьи широко доступными потребительскими вариантами были материнские платы Intel 600/700-й серии и AMD 500/600-й серии.
Одной из моих целей выше была емкость для 6 NVMe-накопителей.
Подробнее о том, почему это может стать проблемой (не стесняйтесь пропустить этот раздел)…
Проблема: Существует 0 потребительских материнских плат с 6-ю слотами M.2, которые можно использовать одновременно в режиме PCIe. На AMD MEG X570S Unify-X Max *похожа*, но посмотрите руководство, и вы обнаружите, что если вы попытаетесь заполнить все 6 слотов, последний должен быть вариантом SATA. ASRock Z790 PG Sonic также имеет 6 слотов, но вы можете использовать только 5 из них (с законным оправданием: они предлагают слот Gen5 NVMe, но он поставляется с оговоркой «или-или»).
Почему эта проблема существует: На потребительских платах существуют ограничения по полосам чипсета. Если предположить, что я хочу иметь возможность использовать все M.2 в Gen4x4, и если предположить, что производитель действительно готов выделить все дорожки под слоты M.2 NVMe (это не так), то AMD X570 и Intel B760 смогут использовать максимум три слота M.2, а AMD B650 и Intel H670/Q670/Z690/W680 — четыре. Пять слотов M.2 возможно на платах AMD X670 и Intel H770. Шесть — на плате Z790. Сверх этого потребуются экстраординарные меры вроде лишения основного слота PCIE дорожек. При желании увеличить количество M.2, производители теоретически могут задействовать дорожки Gen4x2 или добавить несколько слотов Gen3 M.2, но в этом случае они создадут *очень* нишевый продукт.
Решение: Появилась необходимость в адаптерах PCI-E на M.2. Теперь при поиске материнской платы нужно было добавить слоты M.2 к любым доступным слотам PCI-E с поддержкой x4 и выше. Теперь мои возможности были ограничены материнскими платами AMD X570, Intel H770 и Intel Z790. Обратите внимание, что хотя на некоторых материнских платах есть возможность использовать раздвоение, чтобы получить более 1 NVMe из основного слота PCIe, я решил не полагаться на нее.
Я решил пойти по пути Intel по нескольким причинам:
- ТДП чипсета: Чипсеты Intel 600/700-й серии имеют 6 Вт, в то время как TDP чипсета AMD X670 довольно высок (7 Вт+7 Вт). Энергопотребление чипсетов AMD беспокоило меня некоторое время, так как предыдущие чипсеты X570 имели TDP 11 Вт и нуждались в вентиляторе.
- Скорость чипсета: Чипсеты Intel H670/Q670/W680/Z690/H770/Z790 имеют связь DMI 4.0 x8 с процессором. У AMD X570/B650/X670 связь с процессором осуществляется по интерфейсу PCIe 4.0 x4. Теоретическая пропускная способность Intel должна быть в два раза выше, чем у AMD (16 ГБ/с против 8 ГБ/с).
- У меня уже было 64 ГБ DDR4, которые могла использовать система Intel. Чипсеты AMD 600-й серии работают только с DDR5.
- У меня уже был процессор Intel 12-го поколения.
- Я еще не видел никаких положительных обсуждений энергопотребления AM5. Вообще. Обновление: пока я писал это, появились новости о том, что процессоры AMD 7000-й серии сгорают/загораются в местах соединения контактов сокета материнской платы с процессором. Да, извините AMD, не в этот раз.
Так что придется выбрать Intel. Проверив доступные на рынке материнские платы DDR4, я быстро сузил выбор до двух производителей: MSI и ASUS.
Не интересует сравнение плат? Можете пропустить это.
Заманчивыми платами MSI были PRO Z790-P WIFI DDR4 и Z790-A WIFI DDR4. Внешне они практически идентичны, разве что «A» чуть более премиальная (аудио, задние порты, радиаторы, фазы питания и т.д.). Плюсы/минусы:
- Про: 4x M.2 (Gen4x4) + 1x PCIE Gen5x16 + 1x PCIE Gen4x4 поддерживают в общей сложности 6 Gen4 NVMe
- Про: 2x PCIE Gen3x1 дополнительно
- Про: 6 портов SATA
- Против: Intel 2.5G LAN (известна проблемами и ошибками)
- Против: Я не являюсь поклонником BIOS MSI
- Против: Моя текущая плата B660, которая приводит к более высокому потреблению холостого хода, чем ожидалось, — это MSI.
Привлекательными вариантами ASUS были Prime H770-Plus D4 и Prime Z790-P D4 (опционально WIFI). Взять TUF, Strix или ProArt оказалось слишком дорого.
Начну с перечисления плюсов/минусов H770-Plus:
- Про: 3x M.2 (Gen4x4) + 1x PCIE Gen5x16 + 2x PCIE Gen4x4 поддерживает в общей сложности 6 Gen4 NVMe
- Про: 2x PCIE Gen3x1 дополнительно
- Против: только 4 порта SATA
Про: сетевой адаптер Realtek 2.5G (предпочтительнее, чем Intel 2.5G LAN в наши дни)(см. комментарии)Z790-P D4 похожа, но у нее больше фаз питания, лучше радиатор, больше портов USB, дополнительная головка вентилятора, и для наших целей…:
- +1 PCIE Gen4x4
- -1 PCIE Gen3x1
В конечном итоге ASUS Prime H770-Plus D4 стоила на тот момент примерно на 100 долларов дешевле, и я выбрал именно ее.
Один из плюсов, который я обнаружил у «дешевых» плат, — это меньшее количество компонентов и, следовательно, меньшее энергопотребление в режиме простоя, хотя это не всегда однозначно.
Процессор — Intel i5-12400 (степпинг H0) — Alder Lake
Этот процессор уже был у меня в предыдущей сборке настольного компьютера. В то время он был выбран для настольной системы, потому что:
- он имел аппаратное декодирование AV1
- он обладал самой высокой производительностью из линейки Intel 12-го поколения, которая позволяет избежать накладных расходов на кремниевые ядра E-core
- в той сборке я все равно собирался купить новую материнскую плату с 2xDP, и переход на более старое поколение не имел для меня смысла.
Эта настольная сборка оказалась разочарованием и стала одной из моих самых нелюбимых сборок.
Некоторые детали…
У меня были проблемы, когда иногда только 1 из 2 подключенных к DP мониторов просыпался в Linux, что означало, что я должен был либо вытащить/отсоединить другой DP разъем, либо вручную приостановить/возобновить систему, чтобы она могла попробовать снова.
Еще одна проблема заключалась в том, что перезагрузка между Windows и Linux иногда вызывала странные проблемы, которые требовали полного выключения/перезагрузки.
Аппаратное декодирование в Ubuntu с помощью Wayland по-прежнему проблематично, и когда программы пытались использовать его для воспроизведения видео, возникали проблемы.
Наконец, в отличие от моих предыдущих систем Intel, потребление которых можно было снизить до 10 ватт, эта система работала на холостом ходу при 19 ваттах, хотя я подозревал, что используемая материнская плата MSI могла быть одним из факторов.
Большинство головных болей, которые я испытывал, были связаны с графическим процессором и дисплеем. Поскольку я собирался собрать что-то серверное, это уже не имело значения.
Память — 64 ГБ DDR4-3200
Вот что я использовал:
- 2×16 ГБ Kingston HyperX dual-rank (Hynix DJR)
- 2x16GB Kingston HyperX single-rank (Hynix CJR)
Эта память у меня уже была. Я запустил 4 планки памяти с XMP-профилем двухранкового комплекта, который составлял 16-18-18-36. Все остальное было оставлено по умолчанию, за исключением того, что оперативная память работала при напряжении 1,25 вольта (выше, чем стандартные 1,20, но ниже, чем XMP 1,35 В). TestMem5 и Memtest86 показали стабильность при 1,22 В, хотя тестирование этой памяти на предыдущих материнских платах показало, что 1,22 В нестабильно, поэтому для небольшого дополнительного буфера в вопросе стабильности я поднял напряжение до 1,25 В.
Загрузочный накопитель — SSD Sandisk Ultra 3D 1TB
.
Этот компонент не был выбран сознательно. Когда я захотел установить свежий Ubuntu Server для тестирования, это оказался единственный SSD, который у меня был в наличии и который в данный момент не использовался. Я собирался проводить много A/B-тестирований на устройствах PCIE и NVMe, поэтому установка Ubuntu 23.04 на SATA SSD имела смысл, чтобы сохранить слоты PCIE свободными.
Обратите внимание, что после тестирования основная ОС должна была быть запущена на Samsung SSD 970 EVO Plus 500GB NVMe. Не могу сказать ничего особенного, кроме того, что накопители Samsung имеют тенденцию надежно переходить в режимы пониженного энергопотребления.
Используя оба накопителя, я не смог обнаружить разницы в энергопотреблении между ними в ходе тестирования. Tom’s Hardware протестировал Samsung в режиме ожидания на 0,072 Вт (через ASPM/APST), а Anandtech протестировал Sandisk Ultra 3D в режиме ожидания на 0,056 Вт (через ALPM). Оба показателя значительно ниже разрешения 1 Вт моего ваттметра Kill-A-Watt.
Блоки питания — Corsair RM750
Как бы ни казался этот 750-ваттный БП излишним для системы, рассчитанной на мощность около 10 Вт, при одновременном вращении 12 двигателей накопителей мгновенная нагрузка, скорее всего, будет довольно высокой. Компания Seagate заявляет о пиковых токах 2A/3A DC/AC на шине 12 В для одного из своих 3,5-дюймовых дисков емкостью 10 ТБ. Даже пиковое произвольное чтение/запись может превышать 2 А.
Такое резкое потребление энергии может стать проблемой, если блок питания не справляется с задачей. Если массив из 6 дисков в совокупности потребляет 150-200 Вт в тот же момент, когда процессор выдает пиковые 120 Вт, это означает скачок с примерно 10 Вт на холостом ходу до примерно 400 Вт. Это может легко вызвать мгновенный провал напряжения — если провал достаточен, чтобы вызвать немедленный крах/перезагрузку, это, вероятно, не страшно, но если провал достаточен, чтобы данные были повреждены во время обновления памяти или когда другой диск находится в середине записи… это более болезненная проблема. Увеличение мощности БП до некоторой степени (или добавление конденсаторов в шины питания) имеет смысл.
К счастью, несмотря на работу за пределами диапазона пиковой эффективности, большинство блоков питания серии Corsair RM довольно эффективны в широком диапазоне.
Измерения мощности — начальные
Несколько важных моментов:
- Мощность измерялась от стены
- Интел PowerTOP использовался для автоматической настройки параметров
- Ubuntu Server 23.04
Несколько потенциально важных битов BIOS:
- В BIOS были включены C-состояния процессора (C10)
- ASPM был включен со всеми настройками на L1
- RC6 (Render Standby) включен
- Включена поддержка агрессивного LPM (ALPM)
- Отключены: HD Audio, режим подключения, светодиоды, устройство GNA, последовательный порт
9-10 ватт — потребление при включенном дисплее.
7 ватт — потребление после выключения дисплея (параметр загрузки ядра consoleblank=600 для таймера 600 с), в котором эта система находится большую часть недели.
8 ватт — потребление при отключенном управлении питанием USB-клавиатуры. Если вы не заходите на сервер по SSH из другого места, то дополнительный ватт для использования клавиатуры может быть необходим.
Проблемные измерения мощности — нагруженный вращающейся ржавчиной (раскрученный)
Как уже говорилось в начале, я начал с 12 жестких дисков. Половина из них была 2,5″, а другая половина — 3,5″. Поскольку материнская плата имеет только 4 порта SATA, для работы с оставшимися дисками использовался контроллер SATA и множитель портов. Кроме того, в самом начале использовались 4 NVMe-накопителя: один из них, Western Digital SN770, имел тенденцию сильно нагреваться даже на холостом ходу, что указывает на то, что он, вероятно, не переходит в режим пониженного энергопотребления.
Когда все оборудование было подключено, в режиме ожидания, с выключенным дисплеем и 12 дисками, я был шокирован, увидев, что потребление энергии в режиме ожидания выросло с 7 Вт до 24-25 Вт. Слишком много! Что-то было не так.
Загадки энергопотребления — исследование и диагностика высокой мощности
.
Я отсоединил жесткие диски и начал тестировать компоненты по одному. Это были довольно грубые тесты, направленные на то, чтобы получить приблизительное представление о виновнике, поэтому цифры здесь не точные.
Я быстро обнаружил, что используемый мной SATA-контроллер JMB585 приводит к увеличению энергопотребления в диапазоне 6-10 Вт (точные измерения приведены в следующем разделе). Сам контроллер должен потреблять всего пару ватт, и крошечный радиатор оставался холодным, так что, очевидно, дело было в чем-то большем. Куда же уходила энергия?
Я решил понаблюдать за C-состояниями процессорного пакета. Без контроллера JMB585 SATA система перешла в состояние C6. Когда JMB585 был снова подключен, максимальное значение было C3. Ах-ха! Но почему? Оказывается, если подключенное к PCIE устройство не переходит в ASPM L1, процессор не погружается в глубокий сон. Платы контроллеров JMB585, похоже, не поддерживают ASPM.
Дальнейшие эксперименты выявили еще кое-что, о чем я не знал, и это связано с C6 против C8. Система будет работать в режиме C8 только в том случае, если к подключенным к процессору дорожкам PCIE ничего не подключено. Другими словами, если что-то подключено к верхнему слоту PCIE или верхнему слоту NVMe, то C6 — это максимум. Разница в энергопотреблении между C6 и C8 *показалась* менее ватта в простом тесте.
Поэтому, хотя C8 был бы роскошью, попадание в C6 было необходимостью. C3 потребляет слишком много энергии. Если контроллеры SATA будут мешать процессору переходить в оптимальные режимы энергосбережения, то я начал задумываться о том, не стоило ли мне поискать материнскую плату с 6-8 портами SATA, чтобы не полагаться на дополнительные контроллеры…
Небольшой поиск по SATA HBA показал, что, хотя вариантов здесь не так много, SATA-контроллер ASM1166 должен поддерживать ASPM L1, хотя для его корректной работы (и вообще для работы на новых платах Intel) необходимо прошить прошивку. Это то, что мне придется заказывать: У меня есть запасные Marvel и JMicron, но они не поддерживают ASPM. Вообще-то я избегал ASMedia в течение многих лет, но теперь, в силу необходимости, у них появился еще один шанс: Я заказал пару 6-портовых SATA-контроллеров ASM1166.
В сторону: BadTLP, Bad! Ошибки шины AER с pcieport
Стоит упомянуть… Во время первоначального тестирования WD Black SN770 (Gen4 NVMe) я обнаружил проблему, когда использовались основные (подключенные к верхнему процессору) порты PCIE и NVMe. Запуск dmesg привел к выводу, замусоренному такими вещами, как:
pcieport 0000:00:06.0: AER: Corrected error received: 0000:02:00.0
nvme 0000:02:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
pcieport 0000:00:06.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
pcieport 0000:00:06.0: AER: Error of this Agent is reported first
nvme 0000:02:00.0: [ 6] BadTLP
…после долгих проб и ошибок я обнаружил, что если для параметра BIOS «PEG — ASPM» установить значение [Disabled] или [L0s], то ошибок не будет.
Конечно, это был плохой вариант, поскольку [L1] имеет решающее значение для энергосбережения. Если использовались [L1] или [L0sL1], единственным вариантом было установить скорость соединения этих портов на [Gen3], что не прекращало ошибок, но значительно их уменьшало.
Некоторые исследования показали, что первопричиной может быть множество причин. Поскольку замена материнской платы или процессора была не слишком приятной идеей, я надеялся на переход на NVMe другого бренда.
Я заказал несколько NVMe-накопителей Crucial P3. Это оказалось успешным начинанием: заменив диски WD на диски Crucial, я больше не получал ошибок, хотя не забывайте, что это диски Gen3.
Загадки энергопотребления — обнаружение того, что L1.1 и L1.2 включены только на портах, подключенных к чипсету
.
Когда я установил 2 NVMe-накопителя Crucial P3 в подключенный к процессору слот PCIEx16 и верхний слот M2, я заметил более высокие температуры холостого хода, чем ожидалось. В то время как температура NAND составляла около 27-29 °C, контроллеры сообщали о 49-50 °C — гораздо выше, чем я ожидал для этих дисков.
Я переместил один из них из слота PCIEx16 в подключенный к чипсету слот PCIEx4. Интересное различие между этими дисками обнаружилось с помощью lspci -vv:
Подключенный к процессору слот M2: L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
Слот PCIE с подключением чипсета: L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
Похоже, что субсостояния L1 включаются только в слотах, подключенных к чипсету. Досадно, но, похоже, это совпадает с доступными настройками BIOS на скриншоте выше.
Давайте снова обратимся к изображению материнской платы, чтобы показать ситуацию:
Я установил оба NVMe-накопителя в подключенные к чипсету слоты PCIE. Теперь оба показали L1.1+/L1.2+, а температура обоих контроллеров снизилась с 49-50C до 38-41C.
К сожалению, при проведении различных A/B-тестов с использованием этих двух накопителей Crucial NVMe с разными конфигурациями слотов и различными настройками BIOS я увидел очень противоречивое поведение в плане температуры, хотя стоит отметить, что JMB585 и загрузочный накопитель NVMe также были подключены во время этих тестов. Например, оба диска могли простаивать при температуре около 40 °C до мягкой перезагрузки, после чего один (или оба) мог простаивать в диапазоне 50 °C. Иногда казалось, что можно держать один диск на подключенном к процессору M.2 и сохранять температуру 40C на обоих дисках, пока слот x16 не будет заполнен. Предположительно, я столкнулся с какой-то ошибкой. Загрузочный NVMe Samsung, похоже, поддерживал постоянную температуру бездействия независимо от того, что происходило с NVMe-накопителями Crucial, поэтому я подозреваю, что в этом, по крайней мере частично, виноваты сами накопители Crucial.
Интересно, что иногда температура одного (или обоих) контроллеров опускалась до 29 °C в слотах, подключенных к чипсету. Поскольку попытка найти маломощную NVMe-замену Crucial P3 объемом 4 ТБ была нереальной задачей, я надеялся, что в этом виноват ASPM-несовместимый JMicron JMB 585, который вскоре будет заменен на ASPM-совместимый ASMedia ASM 1166.
Последнее обновление: к сожалению, я не следил за температурой в течение всего тестирования, и радиаторы/воздушные потоки между накопителями были перемешаны. Но в окончательной сборке температура контроллера Crucial P3 составляет 31-34 °C, а температура NAND — 23-24 °C.
Загадки энергопотребления — переход с JMB585 на ASM1166.
Через пару недель прибыл ASM1166. Сначала пара деталей о карте, которые могут оказаться полезными, если вы рассматриваете этот вариант…
Я начал с прошивки — карты ASM1166 часто имеют старую прошивку, которая не работает с материнскими платами Intel 600-й серии и, насколько я понимаю, может иметь проблемы с управлением питанием. Более новые прошивки можно найти в разных местах, но я решил взять копию от SilverStone («исправить проблему совместимости» в разделе Download на https://www.silverstonetek.com/en/product/info/expansion-cards/ECS06/) и следовал инструкциям на https://docs.phil-barker.com/posts/upgrading-ASM1166-firmware-for-unraid/ . Обратите внимание, что файлы SilverStone имеют идентичный MD5 с прошивкой, которую я нашел по ссылке https://forums.unraid.net/topic/102010-recommended-controllers-for-unraid/page/8/#comment-1185707 .
Для тех, кто планирует приобрести одну из этих карт ASMedia, я должен отметить, что, как и большинство SATA-контроллеров и HBA, качество очень разнится. На одной из моих карт радиатор был установлен немного криво: термопрокладка была достаточно толстой, чтобы не закоротить соседние компоненты, но имейте в виду, что эти продукты могут быть очень некачественными. Это одна из тех ситуаций, когда стоит заплатить немного больше, чтобы купить товар в магазине с хорошей политикой возврата.
Я провел довольно много A/B-тестирований, поэтому вот краткое сравнение «JMicron JMB585 против ASMedia ASM1166» с точки зрения общего энергопотребления системы, хотя оно может быть применимо только к этой платформе (или, возможно, даже к этой конкретной материнской плате).
DRIVELESS
Во-первых, энергопотребление без подключенных к платам накопителей (загрузочный накопитель SATA SSD подключен к материнской плате), чтобы получить базовый уровень. PowerTOP используется на всех устройствах, кроме клавиатуры (добавляет +1 ватт). Измерения проводились после перехода дисплея в спящий режим.
- 8 ватт — без контроллера SATA — состояние питания C8
- 9 ватт — ASM1166 на подключенном к чипсету слоте x4 — состояние питания C8
- 12 ватт — JMB585 на подключенном к процессору слоте x16 — состояние питания C3
- 15 ватт — JMB585 на подключенном к чипсету слоте x4 — состояние питания C3
- 22 ватта — ASM1166 на подключенном к процессору слоте x16 — состояние питания C2
ASM1166 показывает хорошие результаты при подключении к слоту с чипсетом (всего +1 ватт), но ужасные при подключении к основному слоту PCI-E (+14 ватт), где состояние питания процессорного блока падает до C2. Удивительно, но JMB585 ведет себя противоположным образом: его потребление ниже в слоте, подключенном к процессору (и он не вызывает C2) — однако вскоре вы увидите, что ситуация меняется, когда диски действительно подключены…
Я провел дополнительные тесты с контроллерами, в том числе поиграл в «музыкальные стулья» с парой NVMe-накопителей, чтобы проверить, не повлияют ли несколько устройств на ситуацию, но ничего неожиданного не произошло, поэтому я опущу эти подробности.
Добавление накопителей.
Когда базовые измерения были завершены, пришло время установить на контроллеры несколько накопителей. Загрузочный диск SATA SSD остался на материнской плате, к нему добавились 2 диска NVMe (подключенные к чипсету, если не указано иное) и 4 2,5-дюймовых жестких диска SATA были установлены на контроллер. Я приведу данные о потреблении в режиме «раскрутки» после перехода жестких дисков в режим ожидания — в режиме «раскрутки» оно было ровно на 2 Вт выше в каждом тесте, пока диски находились в режиме ожидания.
- 10 ватт — ASM1166 на подключенном к чипсету слоте x4 — состояние питания C8
- 11 Вт — ASM1166 на подключенном к чипсету слоте x4 с 1 NVMe, перемещенным в подключенный к процессору слот x16 — состояние питания C6
- 11 Вт — 2x ASM1166 на подключенных к чипсету слотах x4, только с 1 накопителем NVMe — состояние питания C8
- 16 Вт — JMB585 на подключенном к чипсету слоте x4 — состояние питания C3
- 24 Вт — JMB585 на подключенном к процессору слоте x16 — состояние питания C2
При подключении 4 накопителей через слот, подключенный к чипсету, ASM1166 увеличивает энергопотребление системы на +2 Вт, в то время как JMB585 — на +8 Вт. Никаких сомнений.
Дополнительным преимуществом является то, что я смог использовать обе карты ASM1166 в системе, в то время как попытка использовать обе карты JMB575 одновременно привела к отказу системы загружаться, хотя это может быть проблемой конкретной платформы или материнской платы.
Однако есть и компромисс — я всегда считал JMB585 надежной, в том числе в паре с мультипликатором портов JMB575. Мой прошлый опыт работы с SATA-контроллерами ASMedia был не слишком удачным: надежность ASM1166 еще предстоит выяснить, но, по крайней мере, это плохой кандидат на роль мультипликатора портов, поскольку он не поддерживает FBS (только CBS).
Еще пара мелких неприятностей, которые возникли с ASM1166:
- При извлечении/включении загрузочного накопителя NVMe появлялось сообщение BIOS о невозможности загрузки из-за повреждения GPT. Карты ASM1166 приходилось временно извлекать, чтобы BIOS снова «нашел» загрузочный накопитель NVMe (после чего их можно было снова установить).
- Карты ASM1166 заявляют о наличии *множества* портов — это вызывает дополнительное время загрузки, поскольку Linux приходится перебирать их все.
Обновление: марки SATA и SSD
В одном из комментариев упоминалось, что старый SSD Samsung 840 PRO ограничивается C3, в то время как SSD Crucial Force GT допускает C8. Хотя это и более старые диски, я все равно нашел это немного удивительным. Это стоило выяснить.
Я использовал H770 в качестве тестового стенда с загрузочным диском Samsung 850 EVO SATA SSD вместе с Crucial P3 NVMe и создал пользовательское ядро, чтобы позволить сетевому адаптеру Realtek достичь L1.2. Никаких ASM1166, только использование встроенного SATA Intel. Я достиг C10 после запуска powertop с автонастройкой и перевода дисплея в спящий режим. Я пробовал разные имеющиеся у меня диски, каждый раз выключая систему, чтобы поменять их местами и повторить процесс. Вот результаты.
Накопители, которые привели к тому, что система застряла в C6:
- 1 ТБ Patriot P210 SATA SSD
.
Накопители, которые позволили достичь C10:
- 500 ГБ Samsung 850 EVO SATA SSD
- 4 ТБ 2,5″ Seagate SATA HDD
- 8 ТБ 3,5″ Seagate SATA HDD
- 14 ТБ Toshiba SATA HDD
- 1 ТБ Sandisk Ultra 3D SATA SSD
- 4TB Sandisk Ultra 3D SATA SSD (примечание: медленная обрезка)
- 4 ТБ Crucial MX500
Я рекомендую быть осторожным при выборе брендов и моделей SATA SSD. Я постараюсь со временем обновить этот список протестированными накопителями, но не забывайте, что некоторые производители систем хранения данных проявляют склонность к тихой замене некачественных компонентов в некоторых своих основных продуктах, поэтому всегда проверяйте заявленные показатели производительности любых устройств хранения данных, которые вы покупаете, пока есть возможность вернуть их. Не стесняйтесь оставлять комментарии о хороших/плохих накопителях, которые вам попадались.
Загадки энергопотребления — заключение
Несколько важных моментов, если вы стремитесь к низкому потреблению:
1) поддержка материнской платы и конфигурация BIOS имеют решающее значение — у меня были материнские платы с очень негибкими BIOS. На этой материнской плате для низкого энергопотребления должны быть включены «Native ASPM» и соответствующие состояния L1 (для того чтобы можно было управлять ОС, а не BIOS).
2) Все устройства должны поддерживать ASPM L1. В противном случае вы действительно бросаете кости. Самое сложное здесь, как вы уже догадались, найти контроллеры SATA, которые поддерживают эту функцию — если возможно, купите материнскую плату с достаточным количеством портов SATA, подключенных к чипсету Intel, чтобы избежать необходимости в отдельной карте. Отмечу, что найти NVMe-накопители с работающими режимами питания APST с низким энергопотреблением при ASPM не всегда возможно, и вам придется провести исследование и здесь.
3) Если вы можете использовать режим питания C8, избегайте использования подключенных к процессору дорожек PCIe (верхний PCIe и слот M2). На данной конкретной материнской плате я бы посоветовал вообще отказаться от их использования, если только вам не нужен путь к процессору с низкой задержкой и полной пропускной способностью, либо ваши устройства настолько активны, что никогда не спят. Вспомните, что ОБЕ мои SATA-карты JMicron и ASMedia при подключении к слоту x16 PCI-E приводили к падению C-состояния процессорного пакета до C2.
4) Измерение мощности от стены — единственный способ убедиться, что то, что вы думаете, происходит на самом деле. Устройство Kill-A-Watt окупится со временем, если вы будете его использовать — учтите, что я купил свой в 2006 году ($16USD + $14USD доставка в то время через eBay). В то время я обнаружил, что наш редко используемый факс, который всегда был включен, потреблял 7 ватт… Просто поддержание этого единственного устройства в выключенном состоянии, когда оно не используется, в течение следующих 10 лет с лихвой окупило Kill-A-Watt.
Потребление энергии при использовании большого количества жестких дисков
Теперь, когда в процессе работы в систему попали различные детали, текущая конфигурация выглядит следующим образом:
- 1x Samsung 970 EVO Plus NVMe (загрузочный диск на 500 ГБ)
- 2x Crucial P3 NVMe (4 ТБ каждый)
- 5x Seagate 2,5″ HDD (5 ТБ каждый — 4 ТБ использовано)
- 6x Seagate 3,5″ HDD (10 ТБ каждый — 8 ТБ использовано)
- 2x карты ASM1166, обеспечивающие порты SATA
Общая мощность, измеренная от стены (дисплей включен, клавиатура включена):
- 50 Вт со всеми 11 HDD в активном режиме ожидания
- 38 Вт с 6x 3,5″ HDD в режиме ожидания B
- 34 Вт с 6x 3,5″ HDD в режиме холостого хода C
- 21 Вт с 6x 3,5″ HDD в режиме Standby_Z (раскручен)
- 18 Вт с 5x 2,5″ HDD также в режиме ожидания
- 16 Вт при выключенном выводе дисплея
- 15 Вт, когда PowerTOP разрешено отключить USB-клавиатуру
По оценкам Seagate, в режиме ожидания эти 3,5-дюймовые диски потребляют около 0,8 Вт каждый, а 2,5-дюймовые — около 0,18 Вт каждый. Это совпадает с тем, что я вижу выше. Показатели активного холостого хода также вполне соответствуют спецификациям Seagate.
Очевидное наблюдение: по сравнению с остальными компонентами системы 3,5-дюймовые диски являются энергоемкими монстрами.
Со временем жесткие диски будут заменены на SSD. Учитывая, что потребление в режиме ожидания у HDD не так велико, торопиться не стоит, и этот процесс будет происходить постепенно, по мере того как мои диски/пары HDD будут выходить из строя, а цены на SSD падать.
В планах на «конец игры» — полностью SSD сборка. Первоначально планировалось установить 1 загрузочный диск, 6xNVMe (вероятно, Crucial P3 4TB) для массива RAIDZ2 и 6xSATA (вероятно, Samsung 870 QVO 8TB) для второго массива RAIDZ2. Поскольку использование подключенных к процессору слотов M2/PCIe не только вносит непредсказуемость, но и влечет за собой небольшие затраты на C-статусы/мощность/температуру, я могу изменить этот план и отказаться от пары NVMe в первом массиве и использовать вместо них SATA, чтобы не трогать подключенные к процессору дорожки. Время покажет.
Необходимые детали хранения
Эту часть стоит читать только в том случае, если вас интересуют дотошные подробности о хранилище. В противном случае переходите к последнему разделу.
Загрузочный диск NVMe
Как уже упоминалось, это Samsung 970 EVO Plus. В настоящее время используется менее 4 ГБ из 500 ГБ пространства (раздел подкачки на 64 ГБ существует, но всегда находится на уровне 0). Изначально этот диск был выбран потому, что у Samsung сложилась репутация надежного производителя (которая в последнее время падает), а также Samsung получал хорошие оценки в обзорах по энергопотреблению в режиме простоя. Этот диск почти всегда находится в режиме ожидания, и температура контроллера и NAND оставалась низкой на протяжении всего тестирования (20-24C). Возможно, со временем он будет заменен на SATA SSD, чтобы освободить порт NVMe.
2,5″ HDD
Эти диски используются для основного 6-дискового массива ZFS RAIDZ2 — того, который используется чаще всего. Один день в неделю он занят задачей, которая предполагает чтение нескольких ТБ в течение 24 часов. Остальные дни недели используются нерегулярно, и большую часть недели диски работают вхолостую. Если кому-то интересно, почему вместо 3,5-дюймовых дисков используются маленькие 2,5-дюймовые, то причина *есть*: потребление энергии.
Энергопотребление 2,5-дюймовых дисков Seagate, честно говоря, впечатляет. При раскручивании каждый из них потребляет 0,18 Вт, в режиме простоя — 0,85 Вт, а средние показатели чтения/записи составляют около 2 Вт. Существует множество SSD с худшими показателями энергопотребления, чем у этого вращающегося «ржавчины». Емкость 5 ТБ дает много памяти на ватт.
Основными недостатками этих 2,5-дюймовых дисков Seagate являются:
- Не самые лучшие показатели. Пиковая скорость чтения/записи 80-120 МБ/с. Хотя, справедливости ради, многие SSD с интерфейсом TLC/QLC опускаются до таких уровней записи, когда исчерпывается кэш SLC.
- SMR (Shingled Magnetic recording). Чтение происходит нормально, но производительность записи абсолютно падает при случайных записях — это похоже на QLC SSD без SLC-кэша, в котором также отсутствует TRIM.
- Низкая номинальная рабочая нагрузка (55 ТБ/год против 550 ТБ/год для 3,5″ дисков Exos).
- Нет настраиваемого времени восстановления после ошибок (SCT ERC), и эти диски могут зависать на несколько минут при возникновении ошибки, пока они неустанно пытаются перечитать проблемный сектор. Ubuntu необходимо настроить на ожидание, а не на попытку перезагрузить диск через 30 секунд.
- Высокий уровень ошибок при нагреве (мне пришлось заменить несколько дисков, и я обнаружил, что они не любят нагреваться).
- Типичные болевые точки жестких дисков (медленная раскрутка и т. д.).
Если быть абсолютно справедливым к компании Seagate, эти диски продаются как внешние USB-накопители для резервного копирования. Вытаскивать эти диски высотой 15 мм из корпусов и использовать их в качестве RAID-массивов в NAS — это не совсем то, для чего они предназначены. Сверхнизкое энергопотребление — это потрясающе, но есть и очевидные компромиссы.
В долгосрочной перспективе эти 2,5-дюймовые диски емкостью 4/5 ТБ будут постепенно вытесняться SSD-накопителями емкостью 4 ТБ (возможно, все NVMe). Твердотельные накопители емкостью 4 ТБ начали появляться в продаже в 2021/2022 годах по цене, примерно в 4-5 раз превышающей стоимость спиннеров. Менее чем через 2 года их стоимость снизилась примерно в 2 раза, и я ожидаю, что диски достойных брендов прослужат более чем в 2 раза дольше, чем диски Seagate.
Если модель Crucial P3 (Gen3) останется доступной, я, скорее всего, остановлюсь на ней, несмотря на ограничение скорости Gen3. Я серьезно рассматривал вариант Crucial P3 Plus (Gen4), но в обзорах энергопотребление оказалось выше, несмотря на очень малое количество ситуаций, когда производительность также была заметно выше. Больше всего меня беспокоил P3 Plus (Gen4): если у меня возникнут проблемы с ASPM/APST, Tom’s Hardware показал, что для модели 2 ТБ он потребляет на 0,3 Вт больше, чем P3 (Gen3). Я предпочитаю, чтобы мощность в худшем случае была как можно ниже.
3,5″ HDD
Используется во вторичном 6-дисковом массиве RAIDZ2 — резервном массиве, который раскручивается примерно на 2 часа в неделю, где на него постоянно идет интенсивная запись.
Энергопотребление 3,5-дюймовых дисков Seagate соответствует ожиданиям. Эти диски емкостью 10 ТБ потребляют около 0,8 Вт каждый в режиме ожидания, 2-5 Вт в режиме простоя и 6-9 Вт при чтении и записи.
Здесь есть две проблемы:
- При записи эти диски потребляют в совокупности около 45-50 Вт. Это дополнительная нагрузка на ИБП, которая мне не очень нужна, если во время резервного копирования произойдет длительное отключение питания (я использую потребительские ИБП мощностью 1500 Вт).
- В режиме ожидания они потребляют около 4,8 Вт. Опять же, я не прочь сэкономить на нагрузке ИБП.
В долгосрочной перспективе эти диски, скорее всего, будут заменены на диски Samsung 870 QVO 8TB SATA. Модель 870 QVO потребляет 0,041 Вт/0,046 Вт в режиме ожидания с ALPM, 0,224 Вт/0,229 Вт в режиме ожидания без него и 2,0-2,7 Вт при копировании (по данным Toms/Anandtech).
С точки зрения цены, Samsung 8TB SATA SSD в настоящее время немного дороже, чем 8TB спиннеры (почти в 3 раза), поэтому, если эти диски не начнут использоваться чаще по каким-либо причинам, замена на SSD почти наверняка подождет, пока у меня не закончатся запасные.
NVMe Cache Drive
Замена моих вращающихся ржавых дисков на SSD — процесс, который, скорее всего, займет некоторое время.
А пока у ZFS есть несколько вариантов использования высокоскоростного хранилища (обычно SSD) перед более медленным хранилищем:
- «Специальный» класс распределения — позволяет создать vdev специально для метаданных и для «маленьких» блоков по желанию.
- Кэш-накопитель, известный как L2ARC.
Если вы создадите «специальный» vdev при создании пула, все ваши метаданные (и, по желанию, небольшие блоки выбранного вами размера) будут находиться на «специальном» vdev, а не на вращающемся диске. Очень быстрые листинги файлов и обход каталогов при сохранении вращающегося rust для самих файлов. Да, вы можете «ls» кучу каталогов, не пробуждая ваши HDD от сна. Самый большой минус в том, что, поскольку все ваши метаданные находятся на этом vdev, если он когда-нибудь умрет, доступ ко всем вашим данным, по сути, будет потерян. Поэтому его нужно как минимум зеркалировать. Возможно, даже трехстороннее зеркало. Попрощайтесь с несколькими портами.
L2ARC — это немного другое. По сути, это кэш второго уровня. Когда кэш в оперативной памяти переполняется, ZFS копирует часть блоков в L2ARC, прежде чем удалить содержимое из оперативной памяти. В следующий раз, когда к этим данным нужно будет обратиться, они будут считаны с L2ARC, а не с диска. Одним из преимуществ по сравнению со «специальным» vdev является то, что вы можете обойтись только 1 SSD — если возникнут проблемы с данными в L2ARC (плохая контрольная сумма, диск умрет и т. д.), ZFS просто прочитает содержимое с оригинального диска. Кроме того, когда L2ARC будет заполнен, ZFS просто начнет работу с начала SSD L2ARC и перезапишет то, что было записано ранее, что имеет как плюсы (к старым данным больше не обращаются), так и минусы (данные, к которым часто обращались, придется записывать на L2ARC заново). Вы также можете добавлять/удалять устройства L2ARC из пула по своему усмотрению — хотите добавить SSD на 64 ГБ, SSD на 500 ГБ и SSD на 2 ТБ? Вперед — ZFS распределит блоки между ними. Через несколько дней нужно удалить из пула SSD на 500 ГБ и использовать его в другом месте? Не сомневайтесь. Самый большой минус L2ARC в том, что если вы забудете указать «кэш» при добавлении устройства, то, скорее всего, испортите свой пул. Он также несовершенен: даже при тщательной настройке трудно заставить ZFS записывать на L2ARC ВСЁ, что вы хотите, до того, как он будет изгнан из памяти. В то же время, в зависимости от ваших данных, на L2ARC может происходить много записей, и вам придется тщательно следить за состоянием вашего SSD.
В прошлом я использовал «специальный», L2ARC и оба одновременно (вы даже можете указать L2ARC не кэшировать данные, уже содержащиеся в «специальном» vdev).
В этот раз я просто использовал L2ARC на NVMe емкостью 4 ТБ: когда все остальные 2,5-дюймовые диски будут заменены на SSD и преимущества скорости SSD-кэша перестанут действовать, я смогу просто удалить это кэш-устройство (хотя теоретически наличие 1 диска L2ARC с кэшем, обрабатывающего основную часть чтения, *позволит* другим NVMe-дискам больше оставаться в режиме низкого энергопотребления…).
Вывод — сожаления? Переживания? Что можно было сделать по-другому?
В отличие от сборки ASRock J4005, где я уже на середине пути понял, что сам себя поставил на колени, здесь у меня нет такого чувства. В этот раз я получил низкое энергопотребление на холостом ходу и довольно мощную систему, которая должна быть гибкой даже при повторном использовании в будущем.
Я вполне доволен выбором компонентов, хотя мне было бы любопытно узнать, как в сравнении с ними поведет себя MSI PRO Z790-P DDR4 (одна из других материнских плат, которые я рассматривал). С точки зрения функциональности MSI имеет преимущество в виде 6xSATA портов, но у нее есть и очевидный недостаток — пресловутый сетевой чип Intel 2.5G. MSI также имеет порт PS/2, и я никогда не проверял, насколько энергопотребление клавиатуры PS/2 ниже, чем USB (напомню, что я экономлю 1 ватт, если позволяю powertop отключать порт USB-клавиатуры). И, конечно, было бы интересно сравнить настройки ASPM и ALPM, а также посмотреть, существуют ли те проблемы, с которыми я столкнулся при использовании слотов PCIe/M.2 с процессорным подключением.
В настоящее время эта система потребляет 15-16 Вт в режиме ожидания с дисками в standby, но после замены всех HDD на SSD я ожидаю, что потребление в режиме ожидания составит около 10-11 Вт, что неплохо для дисков объемом 72 ТБ, 64 ГБ оперативной памяти и довольно приличного процессора.
Обновление: Последние ядра Linux отключают режимы энергосбережения L1 большинства сетевых карт Realtek, что не позволяет процессору входить в приличные C-состояния, увеличивая тем самым энергопотребление на довольно много. Хотя существуют обходные пути, в дальнейшем я, скорее всего, ограничусь материнскими платами с 1-гигабитными сетевыми адаптерами Intel (возможно, перейду на 2,5-гигабитные Intel, когда станет ясно, что они устранили все недостатки). Более подробную информацию о ситуации с сетевыми картами Realtek вы можете найти в комментариях ниже.
Очень интересная статья, большое спасибо.
Значит, вам не важен ECC, а некоторые говорят, что он необходим для постоянно включенного сервера, особенно с ZFS.
Кроме того, NVME, похоже, сжигают больше топлива, чем SSD.
Я ищу экономную материнскую плату с ECC, но пока ничего не нашел, платы W680 трудно достать.
Тем временем я запускаю Unraid на плате Asrock J5040 с двумя зеркальными SSD на 1 ТБ и 3 механическими WD, которые большую часть времени спят.
Система потребляет 19 Вт на холостом ходу, до добавления контроллера Asmedia (4) она потребляла 16-17 Вт (C6). В ближайшее время я заменю старый блок питания Seasonic на Corsair.
С уважением,
Геерт
Имейте в виду, что если 2-й слот M.2 заполнен, то будут работать только 5 из 6 портов SATA. Если я правильно помню, BIOS на H470M DS3H также скрывал некоторые опции (например, принудительное использование IGPU или выделенного GPU), если не перевести его в режим CSM. Кроме того, при установке LSI SAS HBA он случайно зависал на экране загрузки с ошибкой, что приводило к необходимости повторной попытки перезагрузки - обычные SATA-контроллеры работали нормально. Если отбросить все эти странные нюансы, я убедился в надежности платы, она отлично работает, и плата мне очень нравится.
Планируете ли вы опубликовать подобную статью, но для системы с поддержкой ECC и низким энергопотреблением на холостом ходу, которая была бы совместима с Linux (я думаю, что низкое энергопотребление на холостом ходу от AMD - не лучший пример для Linux).
Я сам планирую сделать такую сборку в ближайшее время и хотел бы знать, стоит ли мне начинать делать сборку в ближайшие месяц-два или, может быть, подождать немного, чтобы прочитать ваши публикации, которые предоставят несколько полезных сайтов, которые помогут мне принять более обоснованное решение о выборе компонентов.
Тем не менее, большое спасибо за тщательно написанную статью. Вы проделали впечатляющую работу, осветив важные детали построения очень эффективного NAS с низким энергопотреблением.
В качестве загрузочного накопителя я также взял 970 Evo Plus (2 ТБ) и могу подтвердить, что он должен быть подключен к чипсету, чтобы достичь низкого уровня C-состояния (C8). Что мне показалось интересным, так это то, что разница между пакетами C3 и C8 была намного больше, когда SSD был подключен к чипсету. Я полагаю, что это связано с тем, что сам чипсет переходит в состояние глубокого сна только в том случае, если все подключенные устройства поддерживают ASPM и активна функция SATA Link Power Management.
Подключение SSD к PCIe процессора увеличило энергопотребление всего на ~2 Вт (пакет C3 против C8), в то время как отсутствие ASPM на подключенном к чипсету устройстве, похоже, отнимает дополнительные 5 Вт только у чипсета, но имеет тот же эффект (C3) для пакета C-State.
Стоит отметить один интересный момент: к чипсету подключена карта PCIe 1.1 DVB-C Capture. Несмотря на то, что ASPM указан как возможность для карты в lspci, и я загрузил ядро с pcie_aspm=force, он не был включен для этой карты. Пришлось принудительно включить ASPM через setpci, см. https://wireless.wiki.kernel.org/en/users/documentation/aspm - вроде бы работает без проблем. Это помогло мне достичь 15 Вт холостого хода. К сожалению, карта захвата по-прежнему потребляет ~5 Вт, в противном случае у меня в настоящее время подключены только 2x4TB HDD от Toshiba, которые вращаются вниз в режиме ожидания.
Кстати, Sata Hot Plug должен быть отключен для всех портов, иначе пакет будет достигать только C6.
Отличная статья, спасибо за все эти сведения.
Я планирую собрать свой nas. Поскольку энергопотребление является основной темой, что вы думаете о следующей сборке (но я вроде как ноб в системе и что возможно и/или ограничения такого низкого tdp чипа)?
Asrock N100M micro ATX (с новым Intel® Quad-Core Processor N100 (до 3,4 ГГц) с 6W tdp. Поскольку имеется только 2 порта sata, идея состоит в том, чтобы добавить карту SAS HBA с 8 дополнительными портами SATA на 1 x PCIe 3.0 x16 Slot. Для хранения данных это будет 1 M2 (тот, что с материнской платы) для ОС TrueNas, 2 SSD с зеркалированием sata для VM, docker, ... и 8 HDD Seagate EXO 7200 rpm в качестве последнего шага (2 в начале и затем развиваются в зависимости от необходимости).
Для блока питания Seasonic Focus PX 550W - Modular 80+ Platinum ATX и, наконец, уникальная палка 32GB ram (non ECC).
Заранее спасибо
Что касается карты SAS HBA, я бы посоветовал посмотреть, какое энергопотребление в режиме ожидания наблюдается у других на конкретной карте, которую вы рассматриваете: популярные карты часто потребляют несколько ватт, не делая при этом абсолютно ничего. Не уверен, как *BSD работает с картами, но из тех немногих, у которых ASPM включен по умолчанию, Linux в конце концов отключает его в ядре из-за проблем. Тем не менее, в данной ситуации ASRock N100 может оказаться лучше, чем отдельный процессор/материнская плата, так как я ожидаю, что он будет менее чувствителен к влиянию c-state карты расширения, хотя это всего лишь предположение, основанное на том, что я видел с моими платами ASRock J4x05, и может не относиться к N100.
Seasonic PX 550W выглядит отличным выбором.
В целом, выглядит как надежная сборка!
Есть ли у вас какие-нибудь советы по определению материнских плат, которые могут обеспечить низкое энергопотребление? Люди иногда рекомендуют материнские платы ITX, но я не нашел никаких измерений того, сколько ватт обычно экономит ITX по сравнению с ATX. Конечно, ITX не подошел бы для этой сборки, но ATX, похоже, не был значительным источником энергопотребления в любом случае. Вообще, кажется, очень сложно определить, какие материнские платы энергоэффективны, а какие нет?
Что вы имеете в виду под "накладными расходами кремния на E-ядро" и почему вы пытались их избежать? Я понимаю, что процессоры с ядрами E, вероятно, более сложные, но я бы подумал, что ядра E могут привести к снижению энергопотребления, когда процессор выполняет неинтенсивные задачи при низкой нагрузке.
Еще раз спасибо за отличную информацию. Я надеюсь, что смогу собрать систему с подобной энергоэффективностью. Сейчас у меня есть материнская плата Gigabyte Z790 UD AX и система i5-13500, которую я не могу опустить ниже 28 Вт.
Преимущество ITX в том, что он ограничивает количество компонентов, но это не обязательно - на прошлой неделе я фактически перепрофилировал "Intel i3-10320 на Gigabyte H470M DS3H", о которой я упоминал в начале, и довел ее до 6 ватт в режиме ожидания (без головы, без клавиатуры, только сеть Intel i219V 1GbE на борту, c-states в BIOS, 3 SSD Samsung SATA 840/860/870, блок питания Corsair RM850, Ubuntu Server с powertop). Это очень утилитарная материнская плата. Я не буду делать отдельный обзор, потому что плата больше не доступна, но 6 Вт на плате MicroATX Gibabyte H470 и 7 Вт на плате ATX ASUS H770 в этом обзоре - это два моих лучших результата на данный момент, и, что примечательно, ни один из них не был ITX. Еще кое-что, что я только что заметил: обе эти платы имеют только 6 фаз питания.
Что касается "накладных расходов кремния E-core", то много подробностей можно найти на сайте https://www.hwcooling.net/en/the-same-and-yet-different-intel-core-i5-12400-duel-h0-vs-c0/ , но я постараюсь кратко изложить суть. i5-12400 поставляется с 6 P-ядрами и 0 E-ядрами, обычно называемыми 6+0. Однако он поставляется в двух вариантах: степпинг "C0", который изначально был 8+8 с объединенными ядрами, чтобы стать 6+0, и степпинг "H0", который производился непосредственно как 6+0 и никогда не имел внутри аппаратных E-ядер. В тестах (страница 5 той статьи) C0 потреблял на 16 Вт больше энергии, чем H0, в зависимости от бенчмарка, в том числе почти на 11 Вт больше в режиме простоя. Вполне возможно, что в образце C0 были другие проблемы, вызывающие утечку энергии, или какие-то другие переменные, но в любом случае два чипа с физическим аппаратным обеспечением E-Cores не показали хороших результатов в тестах на холостом ходу.
Поскольку я ориентируюсь на крайне низкое потребление на холостом ходу для большинства своих систем, я не могу оправдать покупку любого из комбинированных чипов с ядрами P/E, пока не увижу данные, показывающие, что чипы с ядрами E потребляют менее 10 Вт на холостом ходу. А таких данных пока просто нет. Это та область, где Intel сейчас находится под большой угрозой: потребление энергии на холостом ходу для Ryzen 9 7940HS ( https://youtu.be/l3Vaz7S3HmQ?t=610 ) в мини-ПК AMD сейчас составляет около 6-7 Вт, и если AMD перенесет этот тип дизайна APU на настольные системы или кто-то вроде ASRock начнет упаковывать некоторые из этих впечатляющих чипов HS в заказные материнские платы, Intel может быстро потерять рынок низкого энергопотребления.
С учетом этого, даже если на вашей плате много неэффективных MOSFET, потребляемая мощность в 28 Вт, о которой вы сказали, кажется немного высокой, если только у вас нет вращающейся ржавчины или карты PCIe, которая потребляет энергию. Проверяли ли вы, не попали ли вы в состояние C6 или лучше? Вспомните, когда я установил ASM1166 в основной слот PCIe, я был ограничен режимом C2 и потреблял 22 Вт.
Вы действительно правы, что 28 Вт, которыми я поделился, были не так хороши, как могли бы быть. Я совершил ошибку, решив, что отсоединение SATA-кабелей от жестких дисков приведет к тому, что они останутся без питания. Как очевидно задним числом, их также нужно отсоединить от БП. Кроме того, к компьютеру было подключено множество периферийных устройств, о которых я не подозревал, что они будут потреблять энергию (в частности, подключенный монитор дает о себе знать). После отключения всех жестких дисков и всех периферийных устройств я получил показания в диапазоне 8-10 Вт.
Чтобы надеяться, что эти данные будут полезны для других, я расскажу о них подробнее. Процессор - i5-13500 в материнской плате Gigabyte Z790 UD AX. Единственное, что подключено, это SATA SSD и одна планка памяти. БП - 850-ваттный Corsair RM850x. Система достигает C8 и даже C10. Для снижения энергопотребления можно было бы сделать еще несколько вещей. Я проводил измерения в режиме простоя в GNOME (предполагаю, что отсутствие DE позволит сэкономить немного CPU), у меня два вентилятора CPU, которые работают медленно даже при низких температурах, система находится в режиме WiFi (предполагаю, что ethernet потребляет меньше энергии), и я не отключал ни светодиоды корпуса, ни HD Audio.
Теперь я очень доволен уровнем энергопотребления. Возможно, один из выводов заключается в том, что ядра Intel E не сильно влияют на энергопотребление в режиме простоя, по крайней мере, в этом процессоре. Единственная проблема, с которой я столкнулся, - это нестабильная работа системы и спорадические перезагрузки 😭. Я думаю, что свел проблему к неисправному процессору или неисправной материнской плате (я пробовал заменить БП, и memtest86+ говорит, что память в порядке). Компания, в которой я приобрел комплектующие, утверждает, что и то, и другое в порядке, но если я не найду другого решения, то попробую заменить процессор и материнскую плату на недорогие комплектующие: i3 13-го поколения и материнскую плату Asus B760M-A. Если это устранит проблему, надеюсь, я смогу вернуть другие части, в худшем случае я буду использовать бюджетные части для сервера и более дорогие части для рабочей станции.
Я перепробовал все настройки, как только я включаю c8/10, система становится нестабильной и отключается в какой-то момент, я проверил все диски и кабели, дважды заменил блок питания, в настоящее время ожидаю RMA процессора от intel. Судя по этой теме, может показаться, что это проблема gigabyte, я также пробовал разные прошивки BIOS безрезультатно, так что, похоже, если RMA процессора не исправит это, это будет проблема с материнскими платами Gigabyte z790.
Разочаровывает, конечно, так как у меня нет окна возврата, и я действительно не хочу иметь дело с Gigabyte RMA, поэтому, если CPU RMA не работает, мне просто придется жить с этим или продать его и купить другую плату.
Поскольку эта тема немного устарела (Dec 2023), мне интересно, сталкивался ли кто-нибудь еще с этой проблемой и смог ли ее решить.
Спасибо.
В настоящее время я тестирую ASUS TUF GAMING B760M-PLUS WIFI D4 (12+1 DrMos), и в режиме простоя, с подключенным монитором и USB (мышь, клавиатура), счетчик мощности показывает 6,7-8,1 Вт. Остальные компоненты системы:
- i5 13500
- 2 x 16 ГБ 3600 МГц (шестеренка 1)
- 1 ТБ KC 3000
- RM550x 2021
- 2 x 120 мм вентилятора @ 450 об/мин
- аудио кодек включен
- WiFi выключен
Arch Linux + модуль RTL8125 (мой роутер не поддерживает EEE)
При отключенной карте Realtek измеритель мощности показывает 6,4 - 6,7 Вт.
Состояние ПК с локальной сетью
C2 (pc2) 0,7%
C3 (pc3) 1,3%
C6 (pc6) 41,1%
C7 (pc7) 0,0%
C8 (pc8) 0,0%
C9 (pc9) 0,0%
C10 (pc10) 55,8%
Состояния ПК без ЛВС
C2 (pc2) 0,6%
C3 (pc3) 0,9%
C6 (pc6) 0,0%
C7 (pc7) 0,0%
C8 (pc8) 0,0%
C9 (pc9) 0,0%
C10 (pc10) 97,8%
Я получил аналогичные результаты на B660 AORUS MASTER DDR4 (16+1+1).
Я хотел бы поделиться своим опытом работы с моим новым ПК мощностью 12-14 Вт.
Я только что собрал безвентиляторный mini-ITX ПК. В корпусе стоит пассивный кулер - AKASA Maxwell Pro, а внутри AMD Ryzen 5600G (Zen 3, 65W TDP), Gigabyte B550I AORUS PRO AX (bios FB), 1x 16GB DDR4 (планирую апгрейд до 2x32GB), 1x 2TB Samsung 980Pro m.2 SSD. Питается от 12-вольтового AC/DC блока питания от AKASA (макс. 150 Вт) и Inter-Tech MINI-ITX PSU 160 Вт.
Потребляемая мощность в режиме ожидания 12-14 Вт для всего ПК под управлением Windows 10 (измеряется на стороне постоянного тока, план питания сбалансирован, но я включил ASPM, Pstates и C-states в биосе и энергосбережение PCIe в расширенных настройках плана питания windows).
Под нагрузкой (Cinebench R23) 61-65 Вт. В настоящее время я занимаюсь понижением напряжения, чтобы улучшить энергопотребление и температуру.
----------
Моя небольшая домашняя лаборатория и NAS потребляют менее 2 Вт в режиме ожидания ‼️.
Я рекомендую Odroid H3 (H3+) с BIOS 1.11 и Debian 11 + DietPi + ядро 6.0.0 (или новее) + примененные твики через powertop, он имеет потребление энергии на холостом ходу только 1.2 - 1.5W (по сравнению с 2.7W для RPi 4 - источник) ⚡️ (с моей конфигурацией: 1x 16GB RAM и 1x SATA SSD).
Видеть: https://i.ibb.co/7QD390m/H3-1-10-6-0-0-sata-idle.gif
Максимальный объем памяти - 64 ГБ RAM, есть 1x порт m.2, 2x SATA 3 и 2x LAN 2.5Gbps. Он намного быстрее, чем Raspberry Pi 4, при меньшем энергопотреблении в режиме ожидания. В нагрузке он может потреблять 20 Вт (+зависит от подключенных устройств).
Если вам нужно больше портов SATA, то порт m.2 можно расширить до 5x SATA с помощью этого: https://wiki.odroid.com/odroid-h3/application_note/m.2_to_sata_adapter.
В настоящее время я пытаюсь заставить свой новый NAS потреблять менее 40 Вт на холостом ходу без дисков с данными, и я не могу понять, почему он потребляет так много. Мой игровой компьютер работает на холостом ходу меньше.
Это Asrock H670M-ITX/ac с i3-12100, 8 ГБ RAM, be quiet 400W PSU. Изначально использовался Kingston NV2 NVMe для ОС, но оказалось, что замена его на SATA SSD снизила мощность на холостом ходу примерно на 10 Вт (50 Вт - > 40 Вт).
Согласно данным powertop, ядра попадают в C7 без проблем, но пакет отказывается покидать C2. Не уверен, насколько это важно.
Буду продолжать работать над этим, ориентируясь на вашу статью :)
Мэтт,
Ваши статьи вдохновили меня, и я купил такую же материнскую плату ( prime h770 plus d4 ) и аналогичный процессор и т.д. Я смог достичь минимальных 12-14 Вт. Пока я доволен этим, но дополнительные 8 Вт из-за того, что пакет больше не достигает c8, очень расстраивают, вы видели что-нибудь подобное в своей сборке?
К сожалению, это было намеренное изменение драйвера Realtek, содержащегося в ядре. Оно обеспечивает отключение L1 практически на всех адаптерах Realtek, по-видимому, в ответ на то, что ряд адаптеров Realtek испытывает проблемы со стабильностью при включении этих состояний низкого энергопотребления. На моей текущей тестовой системе это привело к увеличению мощности на 4 ватта в режиме простоя при неработающем экране, поскольку система больше не выходит за пределы C3.
Попробовать драйвер Realtek, на который дал ссылку Tseting, вероятно, будет самым простым обходным решением на данный момент, хотя я понятия не имею, как он будет работать на неподдерживаемых версиях ядра, а я лично не большой поклонник модулей ядра. Для удобства я вставлю его сюда: https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software.
Есть, конечно, и более сложное решение - для тех, кто знаком с компиляцией ядра, отмена изменений в приведенном выше диффе восстановит L1/L1. 1 на устройствах RTL8168h/8111h, RTL8107e, RTL8168ep/8111ep, RTL8168fp/RTL8117 и RTL8125A/B (во всех более старых устройствах она уже отключена) - если вы хотите разрешить L1.2, вы можете заставить rtl_aspm_is_safe() возвращать true, хотя на моей тестовой системе это не дало никаких преимуществ перед L1.1.
Если разработчики ядра не изменят своего мнения, похоже, что сетевые карты Intel могут быть единственным приемлемым вариантом на будущее. В целом сетевые карты Intel 1G были очень надежными. К сожалению, я обнаружил, что отключение сетевой карты Realtek на моей плате MSI не приводит к ее полному отключению (она все еще застряла на C3), поэтому покупка платы с сетевой картой Realtek с планами отключить ее и использовать сетевую карту расширения Intel может быть рискованной. Стоит отметить, что в будущем производители могут установить флаг на адаптере 8125A/B, чтобы указать, что L1.2 протестирован и разрешен, и ядро linux будет его уважать, но я не знаю, появился ли он в материнских платах или платах расширения.
спасибо за подробную информацию, которой вы поделились.
Ваша настройка вдохновила меня, и я приобрел "Prime h770-plus", включая 4800 DDR Ram.
К сожалению, у меня также возникли проблемы с NVME SSD при включении aspm в биосе (и регулировки тактовой частоты PCI express). Обходные пути по блокировке определенных режимов энергосбережения WD не помогли. Пробовал SN750 (1тб) и SN850X (2тб).
Можете ли вы по-прежнему рекомендовать Crucial P3 или он также регулярно выходит из строя, ссылаясь на проблемы с ASPM?
У кого какие еще NVME на плате работают надежно с включенным ASPM?
Работает ли эта установка продуктивно в непрерывном режиме?
Кроме того, я обнаружил, что 840pro (256gb), по крайней мере на SATA1, не позволяет системе опускаться ниже C3. А вот Crusial Force GT (128 Гб) работает вплоть до C8.
Я обошел проблему с сетевой картой Realtek, убрав галочку в ядре.
Спасибо и наилучшие пожелания
"Думаю, многих головных болей можно было бы избежать, если бы вы нашли плату с большим количеством портов sata!".
Это не так по умолчанию - потому что все зависит от того, какой SATA-контроллер используется и/или как эти порты подключены. Высоки шансы, что используется встроенный контроллер, а конкретно для N5105 есть широко известный NAS-вариант с 6-SATA-портами, продаваемый компаниями Kingnovy и Topton.
В черном варианте используется JMS585, а в зеленом - ASM1166 - черный застрял на C3, а зеленый может опускаться до C8 (проверено на себе, так как у меня зеленый вариант). Если бы мне нужно было что-то большее, чем резервный сервер, то я бы пошел по этому пути - с гораздо более мощным Intel на LGA1700.
Хорошим примером того, насколько низким может быть энергопотребление на холостом ходу, является Odroid H3 - <2 Вт на холостом ходу с 2x HDD через SATA в Spindown ... однако, как только вы добавите (неправильные) компоненты, это быстро ускорится - проверьте статистику энергопотребления здесь:
https://github.com/fenio/ugly-nas
TLDR: В конце концов, он потребляет больше энергии, чем ваша сборка здесь - и я должен добавить, что ранее я владел Odroid H2, который поджарил их 5V полосу и вытащил (дорогие) SSD с ним ... с тех пор я держусь подальше для абсолютного максимума самого низкого энергопотребления в экзотических комбинациях, как Odroid H3.
Я бы сказал, что в конечном итоге все сводится к тому, насколько все практично по сравнению с уровнем энергопотребления.
Тем не менее, я впечатлен этой сборкой - 7 Вт бездействия с 750-ваттным БП - это уже кое-что.
В настоящее время я обновляю свой домашний сервер с j3455 до 11400.
При переключении оборудования я обнаружил странную проблему:
I5-11400+2x8Gb 2666 ddr4 +ASUS Prime B560M-A (последний биос) +asm1166.
Если я загружаюсь с USB без подключенных sata-накопителей, состояние пакета C достигает c8.
При загрузке с USB с подключенным SATA-диском к бортовому sata-контроллеру состояние пакета C достигает только C2 (+4 Вт).
При загрузке с USB с SATA-диском, подключенным к pcie asm1166, состояние пакета C достигает c8.
Поэтому мне кажется, что у SATA-контроллера b560 есть проблемы с энергосбережением. Даже если я включил L1 для всего и запустил powertop tune, он не опускается ниже c2.
Есть ли у вас идея, что могло бы заставить контроллер b560 SATA потреблять на 4 Вт больше?
* Проверьте, включено ли управление питанием SATA Link State (на моей H770 оно находится в разделе Advanced/PCHStorageConfiguration/AggressiveLPMSupport).
* На странице материнской платы ASUS Prime B560M-A указано, что порт SATA_2 делит пропускную способность с разъемом M.2_2. Я не знаю, как это решается на внутреннем уровне, но если вы подключены к SATA_2, попробуйте использовать один из других портов SATA на материнской плате.
* Отключите SATA Hot Plug (xblax упоминал об этом выше)
* Попробуйте другой SSD, если он у вас есть, чтобы посмотреть, есть ли разница (SaveEnergy упоминал об этом выше)
В конце концов, может быть, уже давно дешевле добавить еще один ASM1166 вместо бортового контроллера :D
Это включено, я также пробовал отключить, но это не изменило энергопотребление или C-States. (Пока оставляю его включенным).
В BIOS я могу указать, использует ли M.2_2 SATA или PCIE. Согласно BIOS и руководству, SATA6G_2 блокируется только в том случае, если M.2_2 установлен в режим SATA.
Но я подключил ASM1166 в M.2_2 и настроил его как PCIE. Я подтвердил, что все порты SATA на борту работают так, как ожидалось, с этой настройкой.
По умолчанию Hotplug отключен для всех портов. Я включил его, чтобы посмотреть, изменит ли это что-нибудь, но это не так. Пока оставляю его отключенным.
Я загрузился с USB и попробовал разные устройства: 2x SSD (Emtec и более старый Samsung), 2x 3,5-дюймовых HDD (WD и Seagate) и даже 1x LG DVD Burner.
Похоже, что не имеет значения, какой тип устройства подключен.
Всегда одно и то же, как только я подключаю устройство через SATA, бортовой C2 становится максимальным.
Чтобы проверить это, я загрузился с USB-накопителя с подключенными SATA-устройствами, а затем отключил все из них во время загрузки.
Как только последнее устройство SATA физически отсоединяется от системы, она сразу же переходит в состояние pc6, а через некоторое время - в состояние pc8.
При повторном подключении всех SATA-устройств он остается в PC6/8, но dmesg не распознает повторное подключение (скорее всего, из-за отключенного hotplug).
Я пройдусь по загрузочным логам dmesg, может быть, всплывет что-то интересное.
-m.2 слот mobo работает (проверено с m.2 ssd) -sata контроллер работает (проверено с m.2-pcie адаптером&x16 слотом mobo и m.2 слотом другого minipc) Но с asm1166, подключенным к m.2 слоту, ничего не отображается в биосе или lspci. Так что похоже, что у платы asrock есть какая-то проблема. Не знаю, как действовать дальше.
Кроме того, если я использую домашний сервер в качестве NAS, а также в качестве маршрутизатора, будет ли это препятствовать достижению высоких значений c на холостом ходу, учитывая, что ему всегда придется выполнять какую-то работу? У меня есть гигабитное соединение, и в настоящее время я использую openwrt на pi4, но с включенным qos я могу получить половину скорости загрузки.
Еще раз спасибо.
Что касается маршрутизатора, то я не уверен, хотя надеюсь протестировать его в ближайшие пару недель. В настоящее время у меня есть старый ASRock/Intel J4005B-ITX с OpenWRT в качестве маршрутизатора, но лимит материнской платы на нем - C6 (хотя он проводит там 88-92% времени после включения при типичном домашнем трафике, включая поток YouTube, который я тестировал только что). Питается эта штука от одного из моих старых блоков питания Antec, и он надежно сидит на постоянных 10 ваттах.
ОБНОВЛЕНИЕ 13 декабря: В качестве дополнения, я провел небольшое тестирование с Asus H770 + i3-12100 + Intel i350-4T под управлением OpenWRT в контейнере systemd-nspawn, работающем в привилегированном режиме с SYSTEMD_SECCOMP=0. Результаты немного путаные.
Если ничего не делать, то 90-95% времени он будет находиться в C10.
ТЕСТ А: При работе с одним устройством, просматривающим YouTube, 90 % C10. Подключенный к очень легкому домашнему трафику (скачкообразный со средней скоростью менее 3 Мбит/с), он находился в C10 80-90 % времени. При загрузке с одного из моих веб-серверов, скорость которого ограничена 4 МБ/с (примерно 32 Мбит/с), скорость упала до 50-60 % в диапазоне C10.
ТЕСТ B: Запуск тестов iperf с внешнего VPS на локальную машину (проброс порта):
- 0 Мбит/с = около 82% C10 (только бытовой трафик)
- 1 Мбит/с = около 73 % C10
- 5Mbps = приблизительно 61% C10
- 10 Мбит/с = около 58% C10
- 20 Мбит/с = около 30% C10
- 30 Мбит/с = около 12% C10
...он достиг 0 при скорости чуть более 40 Мбит/с.
ТЕСТ C: Интересно, что прохождение через маршрутизатор между двумя локальными сетями (без NAT, только переадресация) дало другие результаты:
- 0 Мбит/с = около 82 % C10 (только домашний трафик)
- 1 Мбит/с = около 82% C10
- 5 Мбит/с = около 80% C10
- 10 Мбит/с = около 74% C10
- 20 Мбит/с = около 70% C10
- 30 Мбит/с = около 64% C10
...он достиг 0 при скорости чуть более 70 Мбит/с.
Поскольку я нахожусь в контейнере nspawn, я не смог попробовать программную разгрузку потока в разделе брандмауэра OpenWRT, чтобы посмотреть, смягчит ли она влияние в тестах A и B - вполне возможно, что "разгрузка потока", которую она выполняет, приблизит результаты к тесту C. Также возможно, что IPv6 будет лучше работать в тестах A и B, пропуская NAT, хотя влияние меньших, но больших пакетов всегда может внести разлад в ситуацию.
Насколько я могу судить, вывод заключается в том, что существует определенный объем трафика, который компьютер может обрабатывать в качестве брандмауэра, находя при этом возможность поспать. Но если ему не дают спать... другие варианты тоже начинают казаться заманчивыми. Я только что снова протестировал Intel J4005 (подключенный только к монитору), и он потребляет 9-10 Вт в OpenWRT, даже если отключены C-States, и я подозреваю, что серия J5xxx будет такой же (не знаю, как насчет N100). Если нужен некоторый запас мощности, то мой Ryzen 5600G потребляет 22-23 Вт в Ubuntu LiveDVD с отключенными C-статусами. На мой взгляд, оба этих процессора начинают выглядеть одинаково привлекательно в любой момент, когда Alder Lake теряет свое преимущество в C-состоянии.
ОБНОВЛЕНИЕ 15 декабря: Bare metal, настроенный Debian в качестве маршрутизатора. ТЕСТ B был почти идентичным, за исключением того, что время в C10 было +6% для каждого элемента - все равно уперся в твердую стену чуть выше 40 Мбит/с. Таблицы потоков не помогли.
Тест C оказался немного лучше, и итоговые цифры таковы:
- 70 Мбит/с = около 70 % C10
- 75 Мбит/с = около 60 % C10
- 80 Мбит/с = 0% C10 (здесь мы уперлись в твердую стену).
Когда я включил таблицы потоков для теста C, мне удалось добиться немного большего:
- 80 Мбит/с = около 60% C10
- 85 Мбит/с = около 45% C10
- 90 Мбит/с = 0% C10 (здесь мы упираемся в твердую стену).
ТЕСТ D: Чтобы проверить влияние растущего числа подключений, я запустил торрент-клиент и добавил кучу торрентов с ограничением глобальной скорости загрузки в 1 МБ/с.
- 0 подключений = около 80% C10 (только домашний трафик)
- 16 подключений = разброс 36-39 % C10
- 32 соединения = изменяется 33-35 % C10
- 64 соединения = изменяется на 26-29 % C10
- 128 подключений = разные 21-29 % C10
- 256 соединений = около 20% C10
- 512 соединений = около 15% C10
- 1024 соединения = около 5% C10
...Я попробовал таблицы потоков в разных точках. Никакой положительной разницы.
В ходе этого путешествия я сделал несколько интересных открытий.
Во-первых, таблицы потоков вообще мало чем помогли. Если уж на то пошло, то в онлайн-тестах скорости казалось, что пики немного меньше. Возможно, это что-то специфическое для Intel i350-T4, который я использовал (в Debian bare metal H770 и OpenWRT bare metal J4005).
Во-вторых, OpenWRT в контейнере оказался не самым приятным опытом. У меня возникали странные проблемы, когда одни соединения были надёжными, а другие не работали. Возможно, при достаточной настройке и уговаривании его можно заставить работать гладко. Я обнаружил, что VM съедает 2-2,5 % процессора за полный рабочий день при пустой установке и не очень легко работает с C-состоянием, поэтому я не стал дальше заниматься этим вопросом.
В-третьих, и это очень непонятно и, скорее всего, относится к ASUS H770 или, возможно, к моей комбинации оборудования, а может быть, и к ядру linux, которое я запускал... если встроенная сетевая карта Realtek была включена в BIOS, но НЕ активирована (через файл systemd-networkd .network), наличие другой установленной и активированной сетевой карты приводило к тому, что система проводила 50% времени в C3. Под "активированной" я подразумеваю даже такую простую вещь, как [Match]name=X, а остальное пустое. Я пробовал i210, i340 и i350. При использовании i350-T4 я заметил, что соответствующий пункт SMBUS в powertop также исчез после того, как я отключил встроенную сетевую карту и переставил карту во второй слот PCIEx1. Иногда кажется, что у ASUS есть какие-то гремлины, которые бегают по шине PCIE.
Я следовал вашей сборке и купил такую же материнскую плату с процессором i3-13100.
У меня есть одна проблема, которую я не могу решить, и я не знаю, где / что искать.
Я установил ubuntu 22.04 и попробовал с 23.04, но проблема осталась прежней:
Всякий раз, когда я пытаюсь пинговать http://www.google.com, у меня возникает проблема, как только я убираю клавиатуру и мышь:
- либо "ping sendmsg no buffer space available" с драйверами r8168
- или "pcie link is down" с драйверами r8125.
Я удалил все варианты управления питанием, которые смог найти.
Я попытался подключить другое устройство usb.
Есть какие-нибудь подсказки?
1. Проверьте вывод "dmesg" на наличие связанных с ним событий.
2. Проверьте, происходит ли это при загрузке через 22.04/23.04 LiveCD или только после установки.
3. Попробуйте Ubuntu 23.10 (я *думаю*, что релизная версия поставляется с ядром, которое отключает ASPM на RTL8125) - либо LiveCD, либо установка, в зависимости от результатов #1.
4. Попробуйте разные USB-порты, по 1 за раз, чтобы определить, в чем дело - в клавиатуре или мыши (или в обоих), попробуйте клавиатуру/мышь другого бренда, чтобы увидеть, есть ли разница.
5. Отключите/подключите сетевой кабель и посмотрите, восстановится ли сеть или она отключится навсегда.
6. Отключите "F1 для ошибки" в BIOS и попробуйте загрузиться в ОС без подключенной клавиатуры/мыши, а затем посмотрите, что произойдет, когда она будет подключена и отключена.
7. Если у вас есть сетевая карта PCIe (в идеале не-Realtek для этого теста), посмотрите, не страдает ли она от той же проблемы.
Возможно, кто-то еще, кто столкнулся с той же проблемой, ответит. Это не та ситуация, с которой я бы столкнулся, так как в итоге я оставил клавиатуру подключенной (в итоге переключившись на беспроводную клавиатуру, которая не возражала против того, чтобы быть спящей от powertop). Это всегда может быть странная проблема с неисправным оборудованием.
Процессор: i5-12600K
БП: Corsair RM750e
NVMe: Samsung 980 Pro
Оперативная память: 2x16 ГБ DDR5
ОС: Ubuntu 23.04 Server (работает с USB)
Изначально я купил ASRock B760M Pro RS. После настройки BIOS и даже после принудительного включения ASPM на карте Realtek, я не смог опустить PC-3. Мое общее энергопотребление составило около ~15 Вт. Не так уж и плохо, но эта машина предназначалась для нового домашнего сервера, который будет работать 24x7, и я знал, что она может быть лучше. Я написал ASRock, поскольку в их BIOS нет явных настроек состояния ПК, а есть только три состояния Auto, Enabled и Disabled, о том, планируют ли они добавить поддержку, и ничего не получил в ответ. Так что с ними было покончено.
Я вернул ASRock и перешел на ASUS Prime B760-M-A. Я настроил BIOS и запустил powertop. ASPM L1 работал на Realtek без изменений. Я потреблял около 11 Вт. После отключения DP-кабеля и беспроводного USB KB/мыши он упал до 7,2 Вт. Потрясающе! Он смог опуститься до PC10, и система кажется очень стабильной. Просто невероятно, как далеко зашли настольные компьютеры в плане энергопотребления.
Только что сделал сборку с Asus Prime b760M d4 и получил точно такие же результаты на моей материнской плате. Я связался с Asus, чтобы узнать, есть ли у них какие-либо отзывы о подключении процессора к слоту pci/m2. Я дохожу до C6, когда у меня есть intel I226-v в слоте x16 и samsung 970 evo в слоте cpu m2.
Однако мою сетевую карту X710-da2 приходится устанавливать в слот x4, поскольку при использовании в пакете x16 состояние c переходит только в c2/c3.
С сетевой картой i226-v у меня проблем нет.
Моя цель - создать маломощный 10-гигабитный маршрутизатор. В настоящее время я использую OPNsense, но могу перейти на Vyos для снижения нагрузки на систему.
Я пробовал с
1. intel x520-da2 (плата из Китая), которая не поддерживает aspm
2. melanox connectx4 (плата из Китая), которая поддерживает aspm, но разрешает только c3
3. randome i226 nic из Китая, который поддерживает aspm, но не может включить aspm
Так что не могли бы вы сообщить мне точную модель или где вы купили свой i226v-nic?
Уверен, вы уже слышали это, но спасибо за ваши информативные посты и время.
Я 100% новичок во всем этом, и это немного подавляет, если честно, но мысль о владении сервером невероятно привлекательна. Я подошел к этому точно так же, как и когда начинал собирать ПК, куча видео на youtube, прочитал кучу статей и вроде как пробился через это. Исследуя сборку серверов, сразу становится ясно, что нужно знать, что делаешь, а чтение ваших статей делает это еще более очевидным.
Каковы ваши предложения по поводу сервера plex/jellyfin, всегда включенного, с низким энергопотреблением и полными возможностями транскодирования. Люди либо высоко, либо низко оценивают такие продукты, как synology и QNap, что заставляет меня задуматься. Еще раз спасибо
Спасибо за отличную статью! В этом году я построил себе маломощное сетевое хранилище, чтобы заменить уже собранный QNAP TS-351 (Intel J1800) и Gigabyte Brix J4105. Мои требования заключались в том, что новая система должна была потреблять в среднем меньше энергии, чем обе эти системы вместе взятые, и иметь гораздо более высокую производительность. С помощью ваших (предыдущих) статей, голландского форума Tweakers, немецкого форума Hardwareluxx, форума unRAID и некоторых других источников я пришел к следующему:
- Intel i5-13500
- Gigabyte B760M GAMING X DDR4
- Crucial Pro CP2K16G4DFRA32A
- будьте тихими! Pure Power 12 M 550W
- 1x Toshiba MD04ACA50D 5TB (из моего NAS)
- 2x Toshiba MG07ACA14TE 14TB (из моего NAS)
- Crucial P1 1TB (NVMe)
- Samsung 980 1TB (NVMe)
- Crucial BX500 1TB (резервная копия подключена через USB)
- Transcend SSD230S 2 ТБ (SSD с интерфейсом SATA)
- OEM-накопитель Philips USB2.0 (загрузочный диск)
При такой настройке я запускаю почти 50 контейнеров Docker с различными приложениями и базами данных, и в режиме простоя я могу получить 17 Вт от стены. Все раскручивается, и нет доступа к службам, кроме SSH. Что меня вполне устраивает. Пакет C8 может быть достигнут, особенно когда большинство приложений мало что делают или когда я их останавливаю. Когда я останавливаю все, я могу достичь 11 Вт на минимальном уровне на unRAID.
Еще одна вещь, которую я (и некоторые другие) заметили на Intel 600/700, - это то, что использование последовательных устройств USB2.0, таких как Zigbee или Z-Wave, значительно увеличивает энергопотребление. Что-то около 5-7 Вт. В настоящее время я использую ser2net на Pi, чтобы обойти это. Я связался с Gigabyte и Intel, но обе компании отрицают, что это проблема.
Я также использую ядра E для большинства приложений, так как это экономит мне 1-2 Вт в среднем. Некоторое количество уходит на системные процессы, которые я обычно перемещаю на эти ядра с помощью набора задач. Что, кажется, очень хорошо.
Что касается сетевой карты Realtek, я недавно попробовал "родной" драйвер Realtek, доступный в магазине приложений, но он полностью отключил L1. Это привело к дополнительным 4 Вт. Вернувшись к драйверу ядра и принудительно включив L1 с помощью: `echo 1 > /sys/bus/pci/devices/0000\:04\:00.0/link/l1_aspm` работает.
Если у вас есть вопросы, вы всегда можете обратиться к нам. Хорошего нового года <3!
/sys/bus/pci/devices/$DEVICELOC/link/l1_aspm
- спасибо за это. Только что попробовал ее с RTL8125 на моей плате MSI, и она отлично работает - гораздо проще просто установить ее при загрузке вместо того, чтобы создавать собственное ядро. К сожалению, RTL8168 на старой плате Gigabyte H110N, похоже, не имеет этой настройки sysfs, поэтому он будет продолжать получать пользовательское ядро, пока я не получу возможность заменить его на Intel i210 (который, несмотря на 1 Гбит, сейчас стоит немного дороже, чем 2,5 Гбит Intel i225 на AliExpress).Моя установка:
I5-12500
Asrock B660M Steel Legend
64 ГБ DDR4-3200 Corsair LPX
2xNVME накопители (1 SK Hynix Gold P31, 1 TeamGroup)
Адаптер ASM1064 PCI-Express 3x1 - 4 SATA"
сетевая карта Realtek 2.5G
3x120 мм вентилятора.
Proxmox 8 с ядром Linux 6.5.11. Включен регулятор Powersave.
Я попытался свести все к минимуму и удалил все хранилища и другие устройства. Я отключил встроенное аудио, realtek nic и контроллер ASM1062 SATA. При загрузке с USB-флешки и запуске Powertop было ~50% C2 и ~50% C3. Выше - никогда. Я подтвердил, что все устройства поддерживают ASPM с помощью LSPCI, и включил все настройки питания ASPM, которые смог найти в биосе. Я также искал хитрые настройки разгона, но не нашел ни одной включенной. При такой конфигурации энергопотребление составило ~20 Вт. Добавление SATA-контроллера ASM1064 и NVME-накопителей не дало существенной разницы. Я каждый раз запускал powertop --auto-tune без заметного влияния.
Затем я добавил графический процессор Nvidia 1660 Super, который я передал в легкую виртуальную машину Linux. Затем я запускаю драйверы nvidia с режимом постоянства, и nvidia-smi сообщает, что он использует ~1 Вт. Это экономит ~10-20 Вт.
При добавлении ~8 HDD (комбинация Western Digital Reds и Seagate Exo) машина простаивает ~100 Вт и 80% времени проводит в режиме C2.
Затем я запускаю свою основную виртуальную машину и подключаю контроллеры SATA. Энергопотребление увеличивается на 30 Вт до 130 Вт и остается на этом уровне. Powertop на хосте показывает, что пакет никогда не входил ни в одно из c-состояний. У меня нет настроенного spindown диска.
Не уверен, что я что-то спрашиваю, просто делюсь своим опытом. Даже если это не имеет большого значения, я, безусловно, узнал несколько вещей.
Я думаю, что могу перейти с ВМ на контейнер Linux LXC на хосте. Мне интересно, не влияет ли VM каким-то образом на управление питанием. Еще раз спасибо за очень подробную и интересную статью!
Corsair SFX SF450 Platinum
ASRock Z690-ITX
Corsair DDR4 2*16GB 3200 MHz
2 Samsung NVMe 980 Pro 1TB на борту miniPCIe (ZFS Mirror)
1 Samsung EVO 870 2TB на борту SATA (ext4)
I5-12400 степпинг H0
Realtek 2.5G отключен
1 вентилятор Noctua на процессоре (92 мм)
Proxmox 8.1 (1 Docker LXC, работающий с plex)
Экран не подключен, клавиатура и мышь отсутствуют
BIOS загружен с параметрами ASRock по умолчанию + отключены Audio/Wifi, везде включен ASPM
Потребление вхолостую у стены = 18 Вт
Powertop говорит | Pkg C2 28%, C3 64% | Core CPU C7 97%
В любом случае, я включил все на странице ASPM моей материнской платы (Asus Pro WS W680-ACE IPMI), единственное, что я заметил, что он сбрасывается на Auto каждый раз, это Native Aspm (при Enabled он должен добавить поддержку OS ASPM), но каждый раз, когда я вхожу в BIOS, я вижу, что он установлен на Auto. У вас есть какие-нибудь догадки?
Когда я запускаю эту команду, вот фактический статус устройств:
Что касается BIOS, то я полагаю, что "Native ASPM" Auto/Enabled, скорее всего, приведет к тому же самому. Вы можете попробовать установить "Native ASPM" в Disabled, чтобы попытаться заставить настройки BIOS повлиять на ОС, а затем посмотреть, сообщает ли "lspci" об улучшении любой из 8 записей, которые в настоящее время говорят "ASPM Disabled" - однако вам, вероятно, следует убедиться, что у вас есть внешние резервные копии на случай, если ядро намеренно отключило его в вашей системе по причинам, связанным с потерей данных. Я не знаю, на чем работает ваш мост ASPEED AST1150, но поскольку ASPM на нем, похоже, отключен, я не удивлюсь, если все устройства, расположенные ниже по течению от него, тоже могут быть отключены.
При устранении неполадок вам может быть полезно изменить 1 параметр BIOS за раз между перезагрузками/тестированием. Если вы не можете заставить PowerTOP сказать вам что-нибудь (даже с помощью чего-то вроде Ubuntu Live DVD), то, вероятно, лучше всего будет просто использовать устройство Kill A Watt для измерения влияния ваших изменений.
Что вы думаете об этой плате: ASRock PG Riptide Intel Z690 So. 1700 Dual Channel DDR4 ATX Retail
Поскольку у меня будет 8 портов SATA, мне не понадобится еще одна PCIe-карта (до тех пор, пока это не станет ясно). Плюс i5 12400F с имеющимися HDD и SSD.
На моем офисном компьютере с материнской платой MSI нет ни одного из режимов C-State, энергосбережения или других настроек, о которых здесь говорится. Это связано с MSI или с самой платой? Это B450M PRO-VDH MAX (MS-7A38).
Спасибо за любую помощь и любой комментарийСпасибо за отличную статью.
Что вы думаете об этой плате: ASRock PG Riptide Intel Z690 So. 1700 Dual Channel DDR4 ATX Retail
Так как у меня будет 8 портов SATA, мне не понадобится еще одна карта PCIe (до тех пор, пока это не произойдет). Плюс i5 12400F с имеющимися HDD и SSD.
На моем офисном компьютере с материнской платой MSI нет ни одного из режимов C-State, энергосбережения или других настроек, о которых здесь говорится. Это связано с MSI или с самой платой? Это B450M PRO-VDH MAX (MS-7A38).
Спасибо за любую помощь и благодарен за комментарии :)
Не уверен насчет упомянутой вами материнской платы B450M, хотя это материнская плата AMD, а у меня есть только пара плат B550, так что опыт работы с ними невелик. У вас может быть очень простой тумблер под названием "Global C-State Control", хотя вам, возможно, придется покопаться во всех пунктах меню, чтобы найти его. В зависимости от процессора, если вы используете Linux, новые ядра линейки 6.x поддерживают различные драйверы масштабирования amd_pstate, которые могут иметь положительный эффект на общее энергопотребление.
Сейчас коллега купил мини-ПК и установил Unraid. Он оснащен адаптером m.2 to SATA и, следовательно, имеет 6 портов SATA. Возможно, он также будет доступен с 2x m.2, чтобы можно было установить 2 карты Ryzer.
https://www.amazon.de/gp/product/B0BCVCWWF3/ https://www.amazon.de/gp/product/B0BWYXLNFT/
Потребление без каких-либо настроек с 2 доками и 2x VM составляет около 9 Вт в режиме простоя. Подключено 5 жестких дисков.
Идея в том, что за ним стоит мобильный процессор и можно найти что-то подобное. Есть ли у вас какой-нибудь опыт? Результаты выглядят хорошо, и производительность должна быть достаточной.
- Мини-ПК имеет собственный блок питания, а жесткие диски питаются от второго блока питания Pico мощностью 160 Вт. У него есть пустой корпус NAS, но только два вентилятора потребляют еще 11 Вт, так что он еще посмотрит на это.
Моя идея заключалась в том, чтобы открыть мини-ПК и установить все, включая HDD, в мой корпус ATX. 1 или 2 вентилятора Nactua, значительно уменьшенные, а затем использовать блок питания с существующим блоком питания ATX, в дополнение к блоку питания Pico для мини-ПК.
Оборудование:
* CPU Alder Lake N6005
* Samsung 980 1TB
* 32 GB SO-DIMM
* 1 Гб/с сеть
Программное обеспечение
* Proxmox 8
* LXC Home-Assistant
* LXC Plex (аппаратное транскодирование I915)
* LXC dokuwiki
* LXC fileserve (smbd, filebrowser, vsftpd)
* LXC Syncthing
* LXC mosquitto
* LXC heimdall
* LXC gotify
* LXC rtsptoweb
* LXC esphome
и т.д.
РАБОТАЕТ 24/7
Потребление измерено у стены (в основном в режиме ожидания): 7 ватт
=== У меня также есть домашняя сборка "псевдо NAS" на базе AsRock Z690 ===
* CPU I5-12400
* 2 NVMe 1TB
* 8 жестких дисков ZFS Raidz2
* Proxmox 8
* сеть 2,5 Гб/с к моему настольному ПК
Потребление измерено на стене (в основном в режиме ожидания): 70 Вт
РАБОТАЕТ ПО ТРЕБОВАНИЮ
=== Коммутатор 8 портов ===
Потребление: 8 ватт
=== Мой текущий эксперимент ===
Для домашнего использования я не хочу запускать свой "псевдо NAS" 24/7, а только по запросу.
Я установил debian wakeonlan на NUC11, затем
При необходимости (по расписанию или по запросу) я могу запустить
* wakeonlan [MAC-ADDRESS-Z690], чтобы разбудить NAS
* systemctl suspend [PSEUDO-NAS-Z7690], чтобы перевести NAS в спящий режим.
Все это работает довольно хорошо.
Я работаю над графическим интерфейсом в Home-Assistant, который также будет следить за потреблением.
Это лучший компромисс, который я нашел: NAS, низкое потребление, домашняя автоматизация)
Мощность на холостом ходу: ~5,3 Вт
Оборудование:
* ASUS PRIME H610I-PLUS D4
* Intel Core i3-12100
* Crucial RAM 32GB DDR4 2666 MHz CL19 CT32G4DFD8266
* SAMSUNG 980 PRO SSD 2TB NVMe
* PicoPSU-150-XT
* Noctua NH-L9i-17xx, низкопрофильный процессорный кулер
* Noctua NF-A8 PWM, корпусной вентилятор
Программное обеспечение:
* BIOS 3010
* Ubuntu 22.04.3 Server (работает с USB-накопителя)
Настройки BIOS:
* EZ System Tuning установлен на: "Power Saving" (при этом автоматически устанавливаются все необходимые настройки BIOS)
* PL1/PL2 установлены на 35/69 ватт. (из-за тесного корпуса и маломощного pico-psu)
Программные настройки (устанавливаются с дисплея подключенной ТВ-приставки)
* powertop --auto-tune
* setterm -blank 1
Измерял на стене с помощью килл-а-ватта. Показания в основном колеблются между 5,1 и 5,5 ваттами. Измерение мощности производится после того, как экран консоли погаснет. Состояние пакета C-State собирается через ssh. Большую часть времени процессор проводит в C-состоянии пакета C10 (~90%).
Некоторые преимущества данной конфигурации:
* Очень хорошая мощность на холостом ходу.
* Простая настройка BIOS.
* Слот PCIe 4.0 x16 для потенциальной модернизации/расширения (однако его использование, похоже, может испортить низкую мощность бездействия).
Некоторые недостатки этой конфигурации:
* 1GbE против 2.5GbE
* picoPSU имеет 4-контактный разъем питания, а плата хочет 8-контактный разъем питания (исследования в интернете показывают, что это нормально для ситуаций с низким энергопотреблением)
* Одиночный слот M.2. Режим PCIe 3.0 x4
Я хотел 2,5 Гбит/с. Когда я достигну критической массы в доме для 2,5GbE, я, вероятно, буду играть с картой 2,5GbE в слоте PCIe 4.0 x16.
Прочая информация:
* Магическая настройка BIOS "Энергосбережение" не включила "Native ASPM". Однако его включение ничего не изменило.
* Отключение модуля WIFI/Bluetooth в BIOS не помогло.
ОС: Unraid на USB
БП: RM850x (2021), так как он очень эффективен при низких нагрузках.
Диски: добавлены 2x12TB WD Red Plus NAS Drives наряду с NVMe
Оперативная память: 1x32GB 3400MHz DDR4 (взята с текущего ПК)
Вентиляторы: стоковый процессорный вентилятор Intel + корпусные вентиляторы от корпуса Fractal Node 304 на низкой скорости.
Потребляемая мощность в режиме простоя, измеренная моим ИБП, составляет ~21 Вт, при этом ISO-файлы Linux загружаются на один HDD, а другой диск находится в режиме ожидания. Они явно добавляют много ватт в сборку. Я настроил диск четности так, чтобы он раскручивался только при синхронизации кэша nvme с диском данных раз в день (по крайней мере, так я планирую его использовать...), а процессор достаточно быстр для просмотра фильмов под лицензией Creative Commons. В любом случае, 21 Вт - это неплохо для моего первого seedbox :D
Эта таблица эффективности БП должна быть полезна для людей здесь! Данные взяты с сайта cybernetics:
https://docs.google.com/spreadsheets/d/1TnPx1h-nUKgq3MFzwl-OOIsuX_JSIurIq3JkFZVMUas
Мне удалось заставить Asmedia 1166 работать на слоте pcie x16 и использовать слот m2, подключенный к процессору, и добраться до c8.
Пришлось модифицировать биос Asus, чтобы получить доступ к настройкам корневого порта. Отключил Multi-VC на корневом порту 1 и теперь могу использовать слот x16, а состояние пакета процессора доходит до c8. Я дохожу до c8 при использовании слота m2, подключенного к процессору в то же время.
Упрощенные шаги:
Выпаял BIOS с материнской платы
сброс биоса с помощью программатора ch341 3.3v
модифицировал BIOS с помощью открытого UEFI-редактора и "не скрытых" настроек корневого порта.
Прошил BIOS
перепаял обратно.
Моя материнская плата - ASUS PRIME B760M-A D4, но то же самое должно быть и на Prime H770-Plus D4.
Придется поблагодарить службу поддержки Intel за предложение отключить Multi-VC, сам бы я до этого не додумался.
Процессор: i5-14500
MB: Asus Z790-P D4 (получил ее в качестве возврата клиентов по той же цене, что и H770-P D4, и, как вы сказали, у нее есть дополнительный PCIe 4.0 x4)
Оперативная память: 4x 8Gb (без XMP) => будет заменена на 2x 32Gb
NVMe: Sabrent Rocket 1TB PCIe 3.0
БП: Seasonic Focus GX-550
Тестирование проводилось на TrueNas Scale 23.10.2 и Ubuntu Server 23.10. Для обоих случаев я взял драйвер Realtek.
Несколько наблюдений:
Да, я уверен. Когда я подключил к материнской плате usb2.0-ключ Logitech MX Keys, энергопотребление на шелле выросло с 10,5 до 15-16 Вт. Если я правильно помню, это влияло на C-состояния процессора (т. е. он больше не переходил в C6, C8).
Я тестировал только устройства USB2.0 на портах, подключенных к материнской плате (на заднем входе/выходе). Устройства USB2.0 даже не распознавались в портах, не относящихся к USB2.0.
Моя теория заключается в BIOS и/или драйверах для контроллера USB. Поскольку я не использую USB в обычной работе, я не стал проводить дальнейшее расследование. Теперь я вернулся к TrueNas, и он застрял с powertop 2.14, который не поддерживает мой процессор, поэтому отчет о состоянии C не работает.
Для справки, я использую BIOS версии 1611 и Intel ME 16.1.30.2307v4.
Что касается других тестов:
Ваша статья и комментарии - настоящее сокровище. Спасибо всем, кто внес свой вклад. Я хотел бы вкратце поделиться своим опытом:
ASUS Prime H770-Plus D4 + i5-12400 H0 + 2x16GB Kingston DDR4-3200 Kingston Fury Beast + Samsung 970 Evo Plus.
Без клавиатуры и HDMI
Powertop 2.14 (--auto-tune)
Ubuntu Server 23.04 Kernel 6.2.0-20 (новый, без обновлений):
6-7 ватт (в основном C10)
Примечание: При подключении HDMI (+2-3 ватта) и Bluetooth-приемника Logitech MX +4-5 ватт = 7-8 ватт для работы без головы)
Дополнительное обновление 2xSamsung EVO 970: 7-8 ватт
Дополнительное обновление 4xSeagate X20 9-10 Вт (спящий режим)
Модернизация 2x14 мм вентилятора: 12-13 Вт (самый низкий уровень)
Чуть менее 13 Вт с 2xNVME и 4x3,5" - неплохое значение (C10 при 90%).
После обновления ядра до 6.2.0-39 C10 больше не достигается, система работает только на C3 и потребляет 21 ватт.
Очевидно, это связано с Realtek. Ручная настройка
setpci -s 00:1c.2 0x50.B=0x42
setpci -s 04:00.0 0x80.B=0x42
к счастью, приводит к возвращению к статусу C10 и, таким образом, к 12-13 ваттам.
Аналогичное поведение с Ubuntu Server 23.10 Kernel 6.5.x 16-18 ватт (в основном C3) ...
В качестве теста я попробовал Unraid (6.1.74). Система не так экономична, зависает на 16 ваттах, даже после ручной настройки состояний ASPM через setpci (см. выше) ... У Ubuntu на несколько ватт меньше, вам придется провести небольшое исследование.
В любом случае, сборка и исследования доставили много удовольствия, старая Synology потребляет в разы больше, чем новая система.
Еще раз спасибо Мэтту и всем остальным.
Я протестировал его с Arc a380 и ни один из рецептов из интернета не сработал, он потребляет 20w в режиме простоя :facepalm: Пожалуйста, порекомендуйте материнскую плату mATX для 13500, Было бы идеально, если бы mb также поддерживала раздвоение pcie (x8x4x4)
Короче говоря, у меня проблема с тем, что первый слот PCI снижает состояние C до 2 при установленном GPU. В остальном, с 2 x Lexar 1TB NVME и 64 ГБ памяти, я наблюдаю энергопотребление на уровне 4,5-6 Вт с 12600k, что просто поразительно.
Я хочу собрать ITX-плату на базе i3-12100 nas с чипом asm. Однако, как я понимаю, использование слота x16 pci заставит систему оставаться на уровне C2.
Но не приведет ли использование 8 HDD, 2 SSD и одного nvme (чипсета) к тому, что достижение высоких Cstates станет немного неактуальным?
Полагаю, что в ваших тестах на мощность задействован только asm в неподключенном к процессору слоте. Похоже, что я сэкономлю примерно 20 Вт, достигнув более высоких частот с помощью процессора? Простаивание жестких дисков и, следовательно, экономия энергии не связаны с C-состояниями?
Экономия энергии диска и экономия C-State в основном не связаны между собой: Я говорю "в основном", потому что некоторые NVMe-накопители, некоторые SSD и даже некоторые конфигурации SATA, похоже, подавляют C-State. Но экономия энергии при физическом раскручивании HDD (по сравнению с раскручиванием) должна быть совершенно независимой от всего остального, что происходит в системе с точки зрения энергопотребления, включая C-States.
Я немного беспокоюсь, что даже если я заставлю ASPM быть включенным, это может вызвать некоторые странные проблемы со стабильностью. Я думаю, что карты 1GbE по-прежнему являются единственным безопасным выбором, чтобы быть уверенным, что управление питанием будет работать правильно с Linux.
Большое спасибо, Майкл
Asus Prime H770 Plus D4, I3-12100, 2x32GB Corsair Vengeance LPX 2666MHz RAM, be quiet! Pure Power 12 M (550 Вт), накопитель WD blue SN570 512 ГБ NVME, Supermicro AOC-SG-I2 Dual Port GbE, процессорный кулер Pure rock slim 2 be quiet.
После принудительного включения ASPM в драйвере Realtek, который, казалось, вызывал проблемы даже в отключенном состоянии, я могу подключить WD blue в слот Gen 4x4 NVME, а Supermicor - в слот Gen4x4 PCI-E, при этом аппаратный пакет остается на уровне C3. С Proxmox 8.2 я получаю около 60 % времени на C8 для HW-пакета, 98 % на C10 для CPU и 96 % на C7 для Core(HW), что приводит к потреблению около 8-9 Вт энергии, измеренной на стене. Все это после применения всех стандартных настроек энергосбережения BIOS и запуска powertop --auto-tune, а также настройки L1 ASPM на Realtek через командную строку.
Все, что я вижу, - это короткие скачки, когда потребление поднимается до 15 Вт, чтобы затем снова упасть до 8 Вт при работе powertop. Таким образом, у меня есть 2 дополнительных слота для MVME-накопителей или места, куда я могу добавить NVME -> 6x SATA-адаптеры (с чипсетом ASM1166).
Я также могу подтвердить, что после установки ASPM на сетевой карте Realtek другие карты больше не вызывают C3 на упаковке. Если кому-то нужен более дешевый вариант, чем Supermicro, то "10Gtek dual NIC card with 82576 Intel chipset" также отлично работает.
Причина, по которой я нашел вашу статью, заключается в том, что я экспериментировал с ASPM на настольной системе и обнаружил, что это сэкономило мне всего лишь жалкие 2 Вт энергии. Ваша статья указывает на то, что что-то не так с моими выводами и, возможно, мне нужно больше копать, к сожалению, почти никто не выкладывает цифры энергосбережения для конкретных вещей. Судя по вашей статье, наибольший выигрыш от ASPM заключается в том, что он позволяет процессору переходить в состояние глубокого энергосбережения, так что я подозреваю, что именно в этом кроются мои проблемы. Я также интересуюсь этим вопросом, потому что, как и вы, использую настольные компоненты для платформы хранения данных, которая должна потреблять как можно меньше энергии.
Интересно также, что у вас есть диски с такой низкой мощностью в режиме ожидания.
Я взял с собой два диска seagate ironwolf, о чем очень жалею: в режиме ожидания эти диски потребляют 8 Вт (при вращении), хотя в режиме ожидания они потребляют менее 1 Вт. Затем я принес несколько гелиевых дисков WD емкостью 12 Тб, которые потребляют менее 4 Вт в режиме ожидания при вращении. В режиме ожидания мощность аналогична seagate.
Другие проблемы с двумя дисками seagate: (a) если отправить на диск любую команду, например запрос SMART, он раскрутится, что является очень странным поведением, которого я никогда раньше не видел у дисков, даже запрос их спящего состояния с помощью средств seachest раскручивает их, диски WD, подключенные к той же плате контроллера ASmedia, не демонстрируют такого поведения. Кроме того, на двух моих дисках seagate не работает режим медленного вращения, который, как я думаю, является состоянием idle_c. Программное обеспечение TrueNAS, которое я использую, отправляет SMART-запрос каждые 5 минут для функции мониторинга температуры, которую трудно отключить, и это только глобальное включение/выключение. Поэтому, если диски Seagate проседают, они просыпаются. В итоге я вручную исправил код, чтобы внести два диска Seagate в черный список для мониторинга температуры, а также чтобы проверки состояния SMART пропускались, если диски находятся в режиме ожидания.
Однако мое энергопотребление ужасает по сравнению с вашим: система работает без головы, 4 шпинделя, 3 SATA SSD и 1 NVME SSD, в режиме ожидания потребление составляет около 48 Вт, а при раскрутке всех шпинделей - около 34 Вт. В системе установлено 3 вентилятора,
У меня также есть интересные наблюдения относительно NVME.
В своих системах я обнаружил, что диски NVME постоянно работают намного горячее, чем SATA SSD, а также обычно горячее, чем активные шпиндели. В NUC мне пришлось прибегнуть к активному охлаждению, поскольку NVME даже в режиме простоя находился на пределе дросселирования 70C. Как и вы, я обнаружил, что эти устройства немного отличаются друг от друга, когда дело доходит до состояния питания.
Например, в windows я обнаружил, что ASPM не оказывает абсолютно никакого влияния ни на один из 3 NVME-накопителей в системе. L1 и L0s не влияют на температуру. У меня есть Samsung 980 Pro, WD SN850X и PCI express Intel DC P4600, который имеет свой собственный мощный радиатор.
По сути, температура DC P4600 всегда ниже 30C, и режим ASPM на нее не влияет.
WD SN850X работает в диапазоне от низких до средних 40 градусов в зависимости от условий окружающей среды, и режим ASPM на него не влияет.
Я также протестировал WD SN570, и он ведет себя так же, как и SN850X, без влияния ASPM, работает на холостом ходу при температуре около 45C.
Наконец, на 980 Pro также не влияет ASPM, однако я могу запустить пониженное энергопотребление этого диска, он работает на холостом ходу при температуре около 54-60C.
Таким образом, в windows есть скрытые настройки питания, которые позволяют играть с режимами питания NVME напрямую, Samsung 980 Pro опускается примерно на 7-8C, если находится в первом режиме энергосбережения NVME, что, хотя и приятно, все равно является самым горячим NVME-накопителем и намного горячее, чем мои SATA SSD, которые работают в 20-х числах. Интересно, что во втором режиме энергосбережения температура снижается еще на 1-2 °C.
Судя по различным обзорам и отчетам в сети, накопители WD NVME, как правило, не поддерживают более глубокий режим энергосбережения. К счастью, мои диски WD работают не так сильно, как диски Samsung.
У меня также есть 970 EVO, который раньше работал на холостом ходу при температуре около 65 °C. Я снизил ее до 40 градусов, поместив его в адаптер PCIe NVME с большим радиатором, так что мой опыт работы с дисками Samsung не очень хорош в плане температур. Я решил, что не являюсь поклонником NVME-накопителей, для меня они горячие и имеют очень высокую мощность на холостом ходу по сравнению с SATA SSD, но вы, похоже, их взломали.
Что касается процессора/материнской платы, то Intel 12-го поколения действительно начинает терять свои преимущества, если он не может проводить много времени в состояниях C6-C10 (и, к сожалению, нет способа узнать, достигнете ли вы этих состояний, пока не попробуете). Но в целом для системы, которая будет умеренно загружена 24/7, я бы лично начал больше тяготеть к AMD на данный момент.
Я хотел спросить, не рассматривали ли вы случайно CSM-версию ASUS Prime H770-Plus D4? Насколько я понял, CSM в сочетании с i5, например 12500 или 13500, должен позволить использовать функции vPro Enterprise, что, в свою очередь, должно принести DASH, KVM/IPMI возможности удаленного управления. DASH далеко не так мощна, как полноценное решение ASPEED AST2600 BMC, которое обычно потребляет дополнительные 5-10 Вт.
В то же время CSM призван обеспечить стабильность, как в корпоративных системах, что может означать уменьшение возможностей BIOS по настройке C-состояний и т.д.
Бегло просмотрев страницу продукта, я увидел, что единственным отличием между ним и моделью без CSM является доступ к ASUS Control Center Express. Страница технических характеристик для варианта CSM идентична, за исключением добавления "1 x ACC Express Activation Key Card". Руководство идентично, в нем не упоминается никаких отличительных особенностей. Я загрузил оба BIOS (1663), и контрольные суммы были идентичны, хотя я полагаю, что функции могут быть изменены с помощью флагов.
Я бы не удивился, если бы характеристики/функциональность/BIOS были абсолютно одинаковыми, за исключением функциональности, предоставляемой программным обеспечением ACC Express. Но нет способа узнать наверняка, разве что кто-то попробует.
Система может достичь c10 без 9600. Она еще не подготовлена, поэтому я не стал ее вставлять.
Что действительно отстойно в этой плате, так это минимальная скорость вентилятора 20%. И я не знаю почему, но мое минимальное потребление составляет 11,5 Вт, но с X710-DA2. Я поменяю кулер процессора на пассивный. Возможно, прибавится еще один ватт.
Просто информация для тех, кто интересуется X710-DA2: никаких WoL, по крайней мере у меня. Патчить эту штуку - это чистый рак - делайте это в EFI. В активном режиме эта штука становится горячей. Вам нужно либо охлаждать его активно, либо поменять радиатор. Я выбрал последнее. Переверните карту с помощью pcie kit, чтобы она стояла горизонтально. Поставил https://www.reichelt.de/kuehlkoerper-75-mm-alu-1-3-k-w-sk-89-75-kl-ssr-p227795.html?search=Sk+89+7 , так что теперь у меня есть еще и dremel. Нужно сделать так, чтобы карта СТАЛА на мобо с помощью дистанционных прокладок. Подсказка: efi корпус только с самодельным efi. Забудьте о том, что мобо открывает efi.
Случайно, для того же процессора или i3-12th gen вы знаете какие-нибудь хорошие m-ATX или itx платы для таких мощностей, как вышеупомянутые?
- ASUS PRIME H610I-PLUS D4 (ITX, DDR4, но 1G Realtek ethernet может стать серьезной авантюрой)
- ASUS PRIME H610M-A D4-CSM (mATX, DDR4, 1G Intel)
- ASUS PRIME Z790M-PLUS (mATX, DDR5, 1G Intel)
Не удивлюсь, что мне очень нравится Intel 1G Ethernet в двух последних моделях.Для ясности, я не пробовал ни одну из этих плат: я предполагаю, что BIOS и т. д. будут похожи на H770-PLUS D4 и что я смогу зеркально отразить результат. Но я не знаю наверняка. На Z790M-PLUS установлено 4xPCIe и 3xNVMe - если DDR5 не вызовет проблем, то я, вероятно, предпочту именно его. Однако я подозреваю, что маленькому радиатору чипсета может потребоваться определенный воздушный поток.
Разумеется, может быть много других подходящих вариантов, в том числе и за пределами серии PRIME, и в том числе за пределами ASUS. Исторически сложилось так, что Gigabyte всегда была моей палочкой-выручалочкой. В этом поколении она мне просто не подошла.
Установка:
- ASUS PRIME H610M-A D4-CSM
- i3 12100 с кулером Intel
- Samsung 970 Evo Plus 1TB в качестве загрузочного диска (на первом слоте M.2)
- Mushkin 2x 16GB DDR4 3200
- Be quiet M12 550
- минимальный Debian 12
Я перенес настройки Bios Мэтта на материнскую плату mATX!
Измерения на стене (Fritz Dect 200) = 6,4 Вт (в режиме ожидания)
С PicoPSU-90 я смог достичь 5,7 Вт (но гораздо большее потребление в WOL-Standby!).
Спасибо за вашу большую работу, без ваших инструкций Bios потребовался бы месяц, чтобы достичь состояния низкого энергопотребления...
На самом деле я тоже ищу материнские платы mATX для действительно эффективного домашнего сервера. Только у меня есть дополнительная оговорка - я буду строить его в корпусе с пассивным охлаждением (HDPlex H3).
Это немного усложняет выбор материнской платы, потому что, как кажется, я должен выбирать между двумя материнскими платами:
Asus Prime Z790M Plus
+ Intel 1G Ethernet
- маленькое и хлипкое охлаждение VRM
Asus TUF B760M Plus II
+ дешевле в моей стране на порядок
+ более массивный радиатор
- 2.5G Realtek Ethernet
В настоящее время я склоняюсь к TUF, так как еще один Ethernet проще добавить, чем более мощный радиатор VRM, но я хотел бы узнать ваше мнение о том, насколько 2.5G realtek ethernet контроллер является ограничителем.
Заранее спасибо!
Учитывая это, в зависимости от процессора, который вы планируете использовать, охлаждение VRM может не иметь значения. У H770-PLUS, которую я использовал, даже нет охладителя VRM на верхних модулях VRM. Хотя я добавил несколько небольших радиаторов, в них не было особой необходимости, поскольку VRM и так не сильно нагревались.
Меня больше беспокоит пассивное охлаждение радиатора чипсета, поскольку он может сильно нагреваться, когда чипсет перегружен большим количеством данных. TUF GAMING B760M Plus II, похоже, оснащена тем же радиатором, что и Prime Z790M Plus (только в черном цвете и повернутым). Вероятно, здесь мало что можно сделать, если не откручивать радиатор и не делать моддинг без гарантии.
Если вы готовы пройти через все препятствия, необходимые для получения хороших C-состояний, то Realtek 2.5G не обязательно станет для вас остановкой. Хотя я бы позаботился о покупке у продавца с удобной политикой возврата на случай, если проблема окажется более серьезной, чем ожидалось.
Я понятия не имею, был ли это дефект устройства или недостаток конструкции, но я бы не рискнул покупать эту плату в магазине, который не предлагает 30-дневную политику возврата. Служба поддержки ASUS была абсолютно бесполезна, как и гарантия в подобных случаях.
Процессор: i7-14700
Материнская плата: Asus Z790-P WIFI (подключен 2,5G LAN)
Оперативная память: 96 ГБ DDR5 (2x32 ГБ + 2x16 ГБ)
NVMe: Samsung 970 EVO Plus 1TB
БП: Corsair RM750x
Энергопотребление измерялось без монитора.
Несколько наблюдений:
---- важность БП ----
1) Я начал с блока питания Seasonic Focus 1000w, и его энергопотребление составляло 14,4w. Переход на Corsair RM750x привел к снижению мощности на +4w. RM750x имеет энергоэффективность ~80% при 20w, это означает, что мой оригинальный Focus 1000w должен иметь плохую энергоэффективность при 20w (10.1*0.8/14.4=56%)!!! Так что, друзья, пожалуйста, подумайте об инвестировании в лучший БП (ссылка: RM750x цифры в этом листе: https://docs.google.com/spreadsheets/d/1TnPx1h-nUKgq3MFzwl-OOIsuX_JSIurIq3JkFZVMUas/edit?gid=110239702#gid=110239702)
2) powertop 2.14 НЕ поддерживает процессоры Intel 13/14Gen (изначально он показывал только состояние C3). Мне пришлось скомпилировать последнюю версию powertop 2.15, и это позволило мне увидеть состояния C6-C10.
---- Проблемный бортовой SATA-контроллер ASUS Z790-P ----
3) удивительное наблюдение: если я подключаю SSD к бортовому интерфейсу SATA, состояние процессора доходит только до C6 (ни C8, ни C10 вообще нет). Однако если я подключу тот же SSD к карте ASM1166 PCIe-to-SATA, я смогу достичь C10. Это наводит на мысль, что встроенный SATA-контроллер этой материнской платы НЕ поддерживает ASPM должным образом ("lspci -vv" вывод встроенного SATA-контроллера НЕ показывает никаких возможностей ASPM).
---- Стоимость добавления GPU ----
4) Добавление графического процессора Nvidia GTX 1050 Ti привело к резкому увеличению мощности на 16 Вт в режиме простоя. Вскоре я понял, что мощность графического процессора nvidia в режиме простоя можно уменьшить с помощью оптимизации "nvidia-smi --persistence-mode=1", с которой 16 Вт превращаются в 8 Вт (режим производительности GPU P8). Однако это все равно дополнительные 80% от моих 10,1 Вт бездействия без GPU. Наверное, не стоит оставлять GPU. Дополнительные исследования показали, что сам GPU потребляет всего около 3 Вт в режиме простоя, но из-за GPU C-состояние CPU удерживается на уровне C6, отсюда и разница в 8 Вт (с GPU и без).
5) энергопотребление увеличилось еще на 6 Вт, когда я подключил GPU к PCIe-слоту, подключенному к чипсету (изначально он находился в PCIe-слоте, подключенном к процессору). Да, с учетом всех оптимизаций, GPU добавляет 8+6=14 Вт, если подключить его к слоту PCIe, подключенному к чипсету этой материнской платы. Я заметил, что C-состояние изменилось с максимального C6 на максимальное C3, что, вероятно, и является источником дополнительных 6 Вт.
В целом, я доволен результатом, и это забавный опыт. Я бы очень хотел добавить GPU (например, для задач, связанных с фотографией), но это слишком дорого с точки зрения энергопотребления. У кого-нибудь есть опыт работы с GPU на маломощных серверах? Есть ли способы освободить c-состояние CPU, чтобы они могли достичь C8/C10? Обратите внимание, что я говорю о потреблении энергии в режиме простоя (GPU не используется для вывода графики и не подключен к монитору).
Я удивлен, что чипсеты AMD так сильно отстают по энергопотреблению. Я скучаю по старым временам, когда существовало несколько хороших вариантов материнских плат mini-ITX с ранними APU AMD и предпринимались целенаправленные усилия, чтобы весь пакет был с низким энергопотреблением.
Я только что узнал, что новый чипсет AMD X870 должен иметь TDP 7 Вт, но материнские платы, анонсированные на данный момент, кажутся немного чрезмерными ("ROG Strix X870-A Gaming WIFI поставляется с 16+2+2 каскадами питания, рассчитанными на 90 А", - говорит alktech).
Я хочу обновить свои боксы pfsense и truenas с сетью 10 GbE, и наткнулся на этот пост. Послушавшись совета выбрать плату с контроллером intel 1gb ethernet, я выбрал Asrock b660m pro RS и pentium g7400 для обоих боксов. Мне нужен был дополнительный порт PCIe для расширения в будущем.
Собираюсь попробовать твики здесь: https://www.reddit.com/r/ASRock/comments/1998ozl/how_to_get_higher_pkg_cstates_on_asrock/
чтобы посмотреть, смогу ли я получить приемлемое энергопотребление. Я видел ваш комментарий об использовании H610M от ASUS и, вероятно, переключусь на него, если мне не повезет с этими платами. Я сообщу о результатах, так как не могу найти информацию о том, удалось ли людям снизить энергопотребление b660m.
Буду признателен за любой совет!
- Китайская материнская плата CWWK Q670 V1, плата имеет 3xnvme, 8 sata, pcie5 x16 с возможностью разделения на 2 x8 (теоретически можно поставить 5 nvme дисков), 2x2.5Gbs
- i5 13500T
- 1 модуль 48GB DDR5 Crucial Pro.
- 2xSamsung evo 970 plus, 1xLexar NM790
блок питания pico (сейчас у меня нет другого)
- подключен лан в одном порту
В режиме простоя Proxmox потребляет около 8-10 Вт.
В целом параметры хорошие, но на мой взгляд биос не доработан, проблемы с ASPM в одном порту, только samsung evo работает в нем с включенным ASPM, в остальных все нормально с другими дисками.
Процессор разгоняется только до состояния C6