Vamos começar com um pouco de história:
- 2016: Construindo um PC de baixa potência em Skylake – 10 watts ocioso
- 2019: 9 watts ocioso: criação de um NAS/servidor de arquivos doméstico de baixa potência com 4 unidades de armazenamento
- 2021: (sem registro) – 11 watts usando um Intel i3-10320 em um Gigabyte H470M DS3H
Nem todos os meus sistemas foram tão bem-sucedidos. Em 2022, medi alguns outros sistemas com 19 watts e 27 watts como parte do Redução do alto consumo de energia da AMD Radeon com vários monitores . Embora eu tenha conseguido reduzir a potência do sistema AMD de 27 watts algum tempo depois, nem toda combinação de CPU/placa-mãe está destinada à faixa de 10 watts.
—
Antes de prosseguir, o valor de 7 watts para esse sistema foi obtido antes da adição do armazenamento. Os 7 watts (medidos na parede) incluem:
- Placa-mãe (Intel H770)
- 64 GB de RAM
- SSD (inicialização do Ubuntu Server 23.04)
- PSU (Corsair)
- C-States configurado no BIOS para que ele atinja C8
- powertop com auto-tune (que desativou o teclado USB quando a porta entrou em repouso)
Observe que, se eu não permitir que o powertop desative o teclado, obtenho 8 watts medidos na parede.
—
Vamos ver as especificações detalhadas e as escolhas dos componentes. Desta vez, eu tinha os seguintes objetivos:
- baixa potência ociosa
- desempenho razoável da CPU para compactação
- capaz de lidar com 12 discos rígidos + pelo menos 1 NVMe
- capacidade de (eventualmente) converter esses 12 discos rígidos em 6 NVMe + 6 SSD SATA
- manter os custos sob controle – como seria necessária a compra de uma placa-mãe, tentar ficar com DDR4 e reutilizar uma CPU que já tenho.
Montar um novo sistema com a esperança de chegar à faixa de 10 watts *medidos na parede* geralmente não é apenas um desafio, mas também um pouco arriscado. Às vezes, é preciso fazer suas melhores suposições em termos de componentes, montar seu equipamento, ajustar o que for possível e deixar as coisas acontecerem.
Placa-mãe – ASUS Prime H770-Plus D4
Antes de começar, aqui está uma rápida olhada no layout da placa-mãe. Os slots VERDES conectados à CPU e os slots LARANJAS conectados ao chipset serão relevantes ao longo deste artigo.
No momento em que este artigo foi escrito, as opções amplamente disponíveis para o consumidor eram as placas-mãe das séries Intel 600/700 e AMD 500/600.
Um dos meus objetivos acima era a capacidade para eventuais 6 unidades NVMe.
Detalhando mais detalhadamente por que isso pode ser um desafio (fique à vontade para pular esta seção)…
Problema: Existem 0 placas-mãe para consumidores com 6 slots M.2 que podem ser usados ao mesmo tempo no modo PCIe. Na AMD, a MEG X570S Unify-X Max *parece* que sim, mas verifique o manual e você descobrirá que, se tentar preencher todos os 6, o último deverá ser uma variante SATA. O ASRock Z790 PG Sonic também tem 6 slots, mas você só pode usar 5 deles (com uma desculpa legítima: eles oferecem um slot NVMe Gen5, mas ele vem com uma ressalva).
Por que esse problema existe: Há limitações de pista de chipset nas placas de consumidor. Supondo que eu queira executar todos os M.2 na Gen4x4 e supondo que um fabricante esteja realmente disposto a dedicar todas as pistas aos slots M.2 NVMe (não estão), o AMD X570 e o Intel B760 teriam no máximo três slots M.2, com o AMD B650 e o Intel H670/Q670/Z690/W680 gerenciando quatro. Cinco slots M.2 são possíveis nas placas AMD X670 e Intel H770. Seis em uma placa Z790. Além disso, seriam necessárias medidas extraordinárias, como a retirada de pistas do slot PCIE principal. Se fosse desejado um número maior de M.2, os fabricantes poderiam, teoricamente, executar pistas na Gen4x2 ou adicionar alguns slots M.2 Gen3, mas nesse ponto eles criaram um produto de nicho.
A solução: Os adaptadores PCI-E para M.2 se tornaram necessários. Agora, quando estava procurando uma placa-mãe, era uma questão de adicionar os slots M.2 incluídos a qualquer slot PCI-E disponível com capacidade para x4 ou superior. Minhas opções agora estavam limitadas às placas-mãe AMD X570, Intel H770 e Intel Z790. Observe que, embora o uso da bifurcação seja uma possibilidade em algumas placas-mãe para obter mais de 1 NVMe do slot PCIe principal, decidi não confiar nele.
Decidi seguir o caminho da Intel por alguns motivos:
- TDP do chipset: Todos os chipsets Intel das séries 600/700 têm um TDP de 6W, enquanto o TDP do chipset AMD X670 é bastante alto (7w+7w). O consumo de energia do chipset AMD tem me preocupado há algum tempo, pois os chipsets X570 anteriores tinham um TDP de 11 watts e precisavam de um ventilador.
- Velocidade do chipset: Os chipsets Intel H670/Q670/W680/Z690/H770/Z790 têm um link DMI 4.0 x8 para a CPU. O AMD X570/B650/X670 tem um link PCIe 4.0 x4 para a CPU. A taxa de transferência teórica na Intel deve ser o dobro da AMD (16 GB/s vs. 8 GB/s).
- Eu já tinha 64 GB de DDR4 que o sistema Intel poderia usar. Os chipsets da série 600 da AMD são todos somente DDR5.
- Eu já tinha uma CPU Intel de 12ª geração.
- Eu ainda não vi nenhuma discussão positiva sobre o consumo de energia do AM5. De forma alguma. Atualização: enquanto eu escrevia este artigo, surgiram notícias sobre CPUs AMD série 7000 que queimaram/queimaram onde os pinos do soquete da placa-mãe se encontram com a CPU. Sim, desculpe AMD, mas não desta vez.
Então foi a Intel. Depois de verificar as placas-mãe DDR4 disponíveis no mercado, rapidamente reduzi as opções a dois fabricantes: MSI e ASUS.
Não se importa com as comparações de placas? Fique à vontade para pular esta parte.
As placas da MSI mais atraentes foram a PRO Z790-P WIFI DDR4 e a Z790-A WIFI DDR4. Quase idênticas na superfície, exceto que a “A” é um pouco mais premium (áudio, portas traseiras, dissipadores de calor, fases de alimentação etc.). Prós e contras:
- Pro: 4x M.2 (Gen4x4) + 1x PCIE Gen5x16 + 1x PCIE Gen4x4 suporta um total de 6 NVMe Gen4
- Pro: 2x PCIE Gen3x1 extra
- Pro: 6 portas SATA
- Con: LAN Intel 2.5G (conhecida por ser problemática e apresentar bugs)
- Contras: não sou fã do BIOS da MSI
- Contras: minha placa B660 atual, que resulta em um consumo ocioso maior do que o esperado, é uma MSI.
As opções atraentes da ASUS foram a Prime H770-Plus D4 e a Prime Z790-P D4 (edição WIFI opcional). Os modelos TUF, Strix ou ProArt eram muito caros.
Vou começar listando os prós e contras do H770-Plus:
- Pro: 3x M.2 (Gen4x4) + 1x PCIE Gen5x16 + 2x PCIE Gen4x4 suporta um total de 6 NVMe Gen4
- Pro: 2x PCIE Gen3x1 extra
- Con: apenas 4 portas SATA
Pro: Adaptador de rede Realtek 2.5G (preferível à LAN Intel 2.5G atualmente)(consulte os comentários)O Z790-P D4 é semelhante, exceto pelo fato de ter mais fases de energia, melhor dissipação de calor, mais portas USB, conector de ventilador extra e, para nossos propósitos…:
- +1 PCIE Gen4x4
- -1 PCIE Gen3x1
No final das contas, a ASUS Prime H770-Plus D4 estava cerca de US$ 100 mais barata na época e foi a que escolhi.
Uma vantagem que descobri com as placas “mais baratas” é que elas tendem a ter menos componentes e, portanto, menos consumo de energia em modo inativo, embora isso nem sempre seja uma certeza.
CPU – Intel i5-12400 (H0 stepping) – Alder Lake
Eu já tinha essa CPU como parte de uma compilação de desktop anterior. Na época, ela foi escolhida para o sistema de desktop porque:
- tinha decodificação de hardware AV1
- tinha o mais alto desempenho disponível na linha Intel da 12ª geração que evita a sobrecarga de silício do núcleo E
- naquela construção, eu estava adquirindo uma nova placa-mãe com 2xDP de qualquer forma, e optar por uma geração mais antiga não fazia sentido para mim.
Essa construção de desktop acabou sendo uma decepção e está entre as minhas construções menos favoritas.
Alguns detalhes…
Tive problemas em que, às vezes, apenas um dos dois monitores conectados por DP era ativado no Linux, o que significava que eu tinha que puxar/conectar o outro conector DP ou suspender/retomar manualmente o sistema para que ele pudesse tentar novamente.
Outro problema era que a reinicialização entre Windows/Linux às vezes causava problemas estranhos que exigiam um desligamento/reinício completo.
A decodificação de hardware no Ubuntu usando Wayland ainda é problemática e, quando os programas tentavam usá-la para reproduzir vídeo, ocorriam problemas.
Por fim, ao contrário dos meus sistemas Intel anteriores, que podiam ser reduzidos para perto da marca de 10 watts, este estava em marcha lenta a 19 watts, embora eu suspeitasse que a placa-mãe MSI que eu estava usando pudesse ter sido um fator.
A maioria das dores de cabeça que tive estava relacionada à GPU e à tela. Como eu estava prestes a construir algo voltado para o servidor, isso não era mais um fator.
MEMÓRIA – 64GB DDR4-3200
Aqui está o que eu usei:
- 2x16GB Kingston HyperX dual-rank (Hynix DJR)
- 2x16GB Kingston HyperX single-rank (Hynix CJR)
Essa era a memória que eu já tinha. Executei os 4 sticks de memória no perfil XMP do kit dual-rank, que era 16-18-18-36. Todo o resto foi essencialmente deixado nos padrões, exceto o fato de eu ter executado a RAM a 1,25 volts (mais alto que o 1,20 padrão, mas mais baixo que a configuração XMP de 1,35v). O TestMem5 e o Memtest86 mostraram estabilidade em 1,22 V, embora os testes dessa memória em placas-mãe anteriores tenham mostrado que 1,22 V era instável, portanto, para ter um pouco mais de segurança em relação à estabilidade, aumentei a tensão para 1,25 V.
Drive de inicialização – SSD Sandisk Ultra 3D 1TB
Esse componente não foi escolhido deliberadamente. Quando eu quis fazer uma nova instalação do Ubuntu Server para testes, esse era o único SSD que eu tinha e que não estava sendo usado no momento. Eu ia fazer muitos testes A/B em dispositivos PCIE e NVMe, portanto, instalar o Ubuntu 23.04 em um SSD SATA fazia sentido para manter os slots PCIE livres.
Observe que, após o teste, o sistema operacional principal deveria ser executado em um Samsung SSD 970 EVO Plus 500GB NVMe. Não há muito a dizer, exceto que o material da Samsung tende a entrar de forma confiável em modos de baixo consumo de energia.
Depois de usar as duas unidades, não consegui medir nenhuma diferença de energia entre elas em meus testes. A Tom’s Hardware testou o Samsung em modo inativo a 0,072 watts (via ASPM/APST), e a Anandtech testou o Sandisk Ultra 3D em modo inativo a 0,056 watts (via ALPM). Ambos estão bem abaixo da resolução de 1W do meu medidor Kill-A-Watt.
PSU – Corsair RM750
Por mais que essa PSU de 750 W possa parecer um exagero para um sistema que pretende ficar em torno de 10 watts, quando 12 motores de unidade giram ao mesmo tempo, é provável que a carga instantânea seja bastante alta. A Seagate indica correntes de pico de 2A/3A CC/CA no trilho de 12V para uma de suas unidades de 3,5″ de 10 TB. Mesmo o pico de leitura/gravação aleatória pode chegar a mais de 2A.
Essa demanda de energia explosiva pode ser problemática se a PSU não estiver à altura da tarefa. Se uma matriz de 6 unidades puxar coletivamente de 150 a 200 watts no mesmo momento em que a CPU atinge um pico de 120 W, isso representa um salto de cerca de 10 watts ociosos para cerca de 400 watts. Isso poderia facilmente causar uma queda instantânea de tensão – se ela cair o suficiente para causar uma falha/reinicialização imediata, provavelmente não será um grande problema, mas se ela cair o suficiente para que os dados sejam corrompidos durante uma atualização de memória ou quando outra unidade estiver no meio da gravação… esse é um problema mais doloroso. É recomendável superdimensionar a PSU até certo ponto (ou adicionar alguns capacitores em linha aos trilhos de alimentação).
Felizmente, apesar de operar fora da faixa de eficiência máxima, grande parte da série RM da Corsair é bastante eficiente em uma ampla faixa.
Medições de potência – iniciais
Algumas informações importantes:
- Potência medida na parede
- Intel PowerTOP foi usado para ajustar automaticamente as configurações
- Ubuntu Server 23.04
Alguns bits do BIOS potencialmente importantes:
- Os estados C da CPU foram ativados no BIOS (C10)
- ASPM foi ativado com tudo definido como L1
- RC6 (Render Standby) ativado
- Suporte agressivo de LPM ativado (ALPM)
- DESABILITADO: Áudio HD, Modo de conectividade, LEDs, Dispositivo GNA, Porta serial
9-10 watts foi o consumo quando a saída da tela estava ligada.
7 watts era o consumo quando a tela era desligada (parâmetro de inicialização do kernel consoleblank=600 para um temporizador de 600s), que é onde esse sistema fica a maior parte da semana.
8 watts era o consumo se o gerenciamento de energia do teclado USB estivesse desativado. Se você não fizer SSH no servidor de outro lugar, pode ser necessário gastar o watt extra para usar o teclado.
Medições de potência problemáticas – Carregado com ferrugem giratória (spun-down)
Conforme mencionado no início, comecei com 12 discos rígidos. Metade era de 2,5″ e a outra metade de 3,5″. Como a placa-mãe tem apenas 4 portas SATA, um controlador SATA e um multiplicador de porta foram usados para lidar com as unidades restantes. Além disso, 4 unidades NVMe foram usadas logo no início: uma delas, uma Western Digital SN770, tinha a tendência de esquentar bastante mesmo em modo inativo, o que indica que provavelmente não estava entrando em um modo de baixo consumo de energia.
Com todo o equipamento conectado, em modo ocioso, com a tela desligada e com as 12 unidades em modo de espera, ficou chocado ao ver que meu consumo de energia em modo ocioso passou de 7 watts para incríveis 24-25 watts. Demais! Algo estava errado.
Enigmas do consumo de energia – Investigação e diagnóstico de alta potência
Desconectei os discos rígidos e comecei a testar os componentes, um de cada vez. Esses testes foram bastante rudimentares, com o objetivo de obter uma ideia aproximada do culpado, portanto, os números aqui não são precisos.
Descobri rapidamente que o controlador SATA JMB585 que eu estava usando fazia com que o consumo de energia aumentasse em algo na faixa de 6 a 10 watts (medições precisas em uma seção posterior). O controlador em si deveria consumir apenas alguns watts e o pequeno dissipador de calor permanecia frio, portanto, obviamente, havia mais coisas acontecendo. Para onde estava indo a energia?
Decidi observar os estados C do pacote da CPU. Sem o controlador SATA JMB585, o sistema atingiu C6. Quando o JMB585 foi reconectado, o máximo que o sistema atingiu foi C3. Ah, mas por quê? Acontece que, se um dispositivo conectado ao PCIE não entrar em ASPM L1, a CPU não entrará em um sono tão profundo. As placas controladoras JMB585 não parecem ter suporte a ASPM.
Um pouco mais de experimentação revelou outra coisa que eu não sabia e que tem a ver com C6 vs. C8. O sistema só atingirá C8 se não houver nada conectado às pistas PCIE ligadas à CPU. Em outras palavras, se houver algo conectado ao slot PCIE superior ou ao slot NVMe superior, C6 é o máximo. A diferença de consumo de energia entre C6 e C8 *parece* ser menor que um watt em um teste simples.
Portanto, embora C8 fosse um luxo, atingir C6 era uma obrigação. O C3 consome muita energia. Se os controladores SATA impedissem que a CPU atingisse os melhores estados de economia de energia, comecei a me perguntar se eu deveria ter procurado uma placa-mãe com 6 a 8 portas SATA para não ter que depender de controladores adicionais…
Uma pequena busca por HBAs SATA mostrou que, embora não haja muitas opções aqui, o controlador ASM1166 SATA deve suportar ASPM L1, embora o firmware tenha que ser atualizado para que funcione corretamente (e para que funcione em placas Intel mais recentes). Isso era algo que eu teria que encomendar: Tenho peças sobressalentes da Marvel e da JMicron, mas elas não suportam ASPM. Na verdade, eu vinha evitando a ASMedia há anos, mas, por necessidade, agora eles estavam tendo outra chance: Encomendei um par de controladores SATA de 6 portas ASM1166.
Assunto: BadTLP, Bad! Erros de barramento AER do pcieport
Vale a pena mencionar… Durante os testes iniciais com um WD Black SN770 (Gen4 NVMe), encontrei um problema quando as portas PCIE e NVMe primárias (conectadas à CPU superior) foram usadas. A execução do dmesg resultou em uma saída repleta de coisas como:
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
…depois de muita tentativa e erro, descobri que, se a configuração do BIOS “PEG – ASPM” fosse definida como [Disabled] ou [L0s], não havia erros.
Obviamente, essa era uma opção ruim, pois [L1] é crucial para a economia de energia. Se [L1] ou [L0sL1] fossem usados, a única opção era definir a velocidade do link dessas portas como [Gen3], o que não interrompia os erros, mas os reduzia substancialmente.
Algumas pesquisas mostraram que a causa principal pode ser uma série de coisas. Como trocar a placa-mãe ou a CPU não era uma ideia agradável, minha melhor esperança era trocar para uma marca diferente de NVMe.
Encomendei alguns drives Crucial P3 NVMe. Isso acabou sendo um empreendimento bem-sucedido: com as unidades WD substituídas pelas unidades Crucial, não estava mais recebendo nenhum erro, embora tenha em mente que essas unidades são da Gen3.
Perguntas sobre o consumo de energia – Encontrando L1.1 e L1.2 habilitados somente em portas conectadas ao chipset
Quando instalei os dois drives Crucial P3 NVMe no slot PCIEx16 conectado à CPU e no slot M2 superior, notei temperaturas ociosas mais altas do que o esperado. Enquanto o NAND estava entre 27 e 29 °C, os controladores estavam relatando 49 a 50 °C – muito mais do que eu esperava para essas unidades específicas.
Mudei a unidade do slot PCIEx16 para um slot PCIEx4 conectado ao chipset. Uma diferença interessante entre esses drives foi mostrada pelo lspci -vvv:
Slot M2 conectado à CPU: L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
Slot PCIE conectado ao chipset: L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
Os subestados L1 parecem ser ativados apenas nos slots conectados ao chipset. É uma pena, mas parece coincidir com as configurações do BIOS disponíveis na captura de tela acima.
Vamos fazer referência à imagem da placa-mãe novamente para mostrar a situação:
Coloquei as duas unidades NVMe em slots PCIE conectados ao chipset. Agora ambos mostravam L1.1+/L1.2+ e as temperaturas de ambos os controladores caíram da faixa de 49-50C para 38-41C.
Infelizmente, ao tentar vários testes A/B usando esses dois drives NVMe da Crucial com diferentes configurações de slot e várias configurações do BIOS, vi um comportamento muito inconsistente em termos de temperatura, embora seja importante observar que o JMB585 e um drive de inicialização NVMe também estavam conectados durante esses testes. Por exemplo, ambas as unidades poderiam ficar ociosas em torno de 40 °C até uma reinicialização suave, momento em que uma (ou ambas) poderia ficar ociosa na faixa de 50 °C. Às vezes, parecia possível manter uma unidade no M.2 conectado à CPU e manter as temperaturas de 40 °C em ambas as unidades, desde que o slot x16 não estivesse preenchido. Provavelmente, eu estava encontrando algum tipo de erro. O NVMe de inicialização da Samsung parecia manter uma temperatura ociosa consistente, independentemente do que estava acontecendo com os drives NVMe da Crucial, então suspeitei que os próprios drives da Crucial fossem, pelo menos em parte, culpados.
É interessante notar que, às vezes, uma (ou ambas) as temperaturas do controlador caíam até a faixa de 29C quando estavam nos slots conectados ao chipset. Como tentar encontrar um substituto de 4 TB NVMe de baixo consumo de energia para o Crucial P3 não era uma meta realista, minha melhor esperança nesse momento era que o JMicron JMB 585, incompatível com ASPM, fosse de alguma forma o culpado, já que logo seria substituído pelo ASMedia ASM 1166, compatível com ASPM.
Atualização tardia: infelizmente, não registrei as temperaturas durante o restante dos testes, e os dissipadores de calor/fluxo de ar entre os drives foram todos misturados. Mas, pelo que vale a pena, na compilação final, as temperaturas do meu controlador Crucial P3 são 31-34C, e as temperaturas NAND são 23-24C.
Enigmas do consumo de energia – Mudança do JMB585 para o ASM1166.
Depois de algumas semanas, o ASM1166 chegou. Primeiro, algumas informações sobre a placa que podem ser úteis se você estiver pensando em usá-la…
Comecei com um flash de firmware – as placas ASM1166 geralmente têm firmware antigo que não funciona com as placas-mãe Intel série 600 e, pelo que sei, pode ter problemas com o gerenciamento de energia. Um firmware mais novo pode ser encontrado em vários lugares, mas decidi pegar uma cópia da SilverStone (“fix compatibility issue” na seção Download de https://www.silverstonetek.com/en/product/info/expansion-cards/ECS06/) e segui as instruções em https://docs.phil-barker.com/posts/upgrading-ASM1166-firmware-for-unraid/ . Observe que os arquivos da SilverStone tinham um MD5 idêntico ao do firmware que encontrei seguindo o tópico em https://forums.unraid.net/topic/102010-recommended-controllers-for-unraid/page/8/#comment-1185707 .
Para quem planeja comprar uma dessas placas ASMedia, devo observar que, como a maioria das controladoras SATA e HBAs existentes, a qualidade realmente varia. Uma das minhas placas tinha um dissipador de calor que estava um pouco torto: a almofada térmica era grossa o suficiente para evitar que causasse curto-circuito nos componentes próximos, mas saiba que esses produtos podem ser realmente imprevisíveis. Essa é uma das situações em que pagar um pouco mais para comprar em um local com uma boa política de devolução pode ser prudente.
Fiz alguns testes A/B, portanto, aqui está um rápido “JMicron JMB585 vs. ASMedia ASM1166” em termos de consumo total de energia do sistema, embora possa ser aplicável somente a essa plataforma (ou talvez até mesmo a essa placa-mãe específica).
DRIVELESS
Primeiro, o consumo de energia sem nenhuma unidade conectada às placas (a unidade de inicialização SATA SSD está conectada à placa-mãe) para obter uma linha de base. O PowerTOP foi usado em todos os dispositivos, exceto no teclado (adicionando +1 watt). Medições depois que a saída da tela entrou em modo de espera.
- 8 watts – Sem controlador SATA – estado de energia C8
- 9 watts – ASM1166 em um slot x4 conectado ao chipset – estado de energia C8
- 12 watts – JMB585 no slot x16 conectado à CPU – estado de energia C3
- 15 watts – JMB585 em um slot x4 conectado ao chipset – estado de energia C3
- 22 watts – ASM1166 no slot x16 conectado à CPU – estado de energia C2
O ASM1166 se sai bem aqui se for conectado a um slot conectado ao chipset (apenas +1 watt), mas se sai horrivelmente bem se for conectado ao slot PCI-E principal (+14 watts), onde o estado de energia do pacote da CPU cai para C2. Surpreendentemente, o JMB585 se comporta de maneira oposta, com um consumo menor no slot conectado à CPU (e não causou C2) – no entanto, você logo verá que as coisas mudam quando as unidades são realmente conectadas…
Fiz testes adicionais com os controladores, inclusive brincando de “dança das cadeiras” com alguns drives NVMe para ver se vários dispositivos poderiam atrapalhar as coisas, mas não aconteceu nada inesperado, então vou pular esses detalhes.
ADICIONANDO DRIVES
Com as medições de linha de base concluídas, era hora de realmente colocar algumas unidades nesses controladores. A unidade de inicialização SSD SATA permaneceu na placa-mãe, 2 unidades NVMe foram adicionadas à mistura (conectadas ao chipset, salvo indicação em contrário) e 4 dos discos rígidos SATA de 2,5″ foram colocados no controlador. Vou listar o consumo “girado para baixo” depois que os discos rígidos entraram em modo de espera – o consumo “girado para cima” foi exatamente 2 watts mais alto em todos os testes enquanto os discos estavam ociosos.
- 10 watts – ASM1166 em um slot x4 conectado ao chipset – estado de energia C8
- 11 watts – ASM1166 em um slot x4 conectado ao chipset com 1 NVMe movido para o slot x16 conectado à CPU – estado de energia C6
- 11 watts – 2x ASM1166 em slots x4 conectados ao chipset, com apenas 1 unidade NVMe – estado de energia C8
- 16 watts – JMB585 em um slot x4 conectado ao chipset – estado de energia C3
- 24 watts – JMB585 em um slot x16 conectado à CPU – estado de energia C2
Com 4 unidades conectadas por meio de um slot conectado ao chipset, o ASM1166 acrescenta +2 watts ao consumo de energia do sistema, enquanto o JMB585 acrescenta +8 watts. Não há dúvida.
Um benefício adicional é que consegui usar ambas as placas ASM1166 no sistema, ao passo que, ao tentar usar ambas as placas JMB575 ao mesmo tempo, o sistema se recusou a inicializar, embora isso possa ser um problema específico da plataforma ou da placa-mãe.
No entanto, há uma compensação: sempre achei o JMB585 muito confiável, inclusive quando emparelhado com um multiplicador de porta JMB575. Minha experiência anterior com as controladoras SATA da ASMedia não foi nada boa: a confiabilidade com a ASM1166 ainda não foi comprovada, mas, no mínimo, ela é uma candidata ruim para um multiplicador de porta, pois não suporta FBS (somente CBS).
Alguns outros pequenos problemas que surgiram com o ASM1166:
- Ao remover/reinserir a unidade de inicialização NVMe, uma mensagem do BIOS apareceu alegando que não era possível inicializar devido à corrupção do GPT. As placas ASM1166 tiveram que ser removidas temporariamente para que o BIOS “encontrasse” a unidade de inicialização NVMe novamente (depois disso, elas poderiam ser reinstaladas).
- As placas ASM1166 afirmam ter *muitas* portas – isso causa tempo de inicialização adicional, pois o Linux precisa iterar por todas elas.
Atualização: marcas de SATA e SSD
Um dos comentários mencionou o fato de um SSD Samsung 840 PRO mais antigo limitar-se a C3, enquanto um SSD Crucial Force GT permitia C8. Embora essas unidades sejam mais antigas, ainda achei isso um pouco surpreendente. Valeu a pena investigar.
Usei o H770 como um banco de testes com uma unidade de inicialização Samsung 850 EVO SATA SSD junto com um Crucial P3 NVMe e criei um kernel personalizado para permitir que o adaptador de rede Realtek alcançasse L1.2. Sem ASM1166, usando apenas o SATA integrado da Intel. Alcancei o C10 depois de executar o powertop com ajuste automático e permitir que a tela dormisse. Experimentei várias unidades que tenho em mãos, desligando o sistema a cada vez para trocar as unidades e repetir o processo. Aqui estão os resultados.
Unidades que fizeram com que o sistema ficasse preso em C6:
- 1TB Patriot P210 SATA SSD
Unidades que permitiram o C10:
- SD SATA Samsung 850 EVO de 500 GB
- Disco rígido Seagate SATA de 2,5″ de 4 TB
- 8TB 3.5″ Seagate SATA HDD
- Disco rígido SATA de 14 TB da Toshiba
- 1 TB SSD Sandisk Ultra 3D SATA
- SD Sandisk Ultra 3D SATA de 4 TB (observação: acabamento lento)
- 4TB Crucial MX500
Sugiro ter cuidado ao selecionar marcas e modelos de SSDs SATA. Tentarei atualizar essa lista com o tempo com as unidades que testei, mas lembre-se de que determinados fabricantes do setor de armazenamento demonstraram uma propensão a trocar silenciosamente por componentes inferiores em alguns de seus principais produtos, portanto, você deve sempre verificar as métricas de desempenho declaradas de qualquer dispositivo de armazenamento que comprar enquanto estiver dentro da janela de devolução. Fique à vontade para deixar um comentário sobre as unidades boas ou ruins que você encontrar.
Enigmas do consumo de energia – Conclusão
Algumas informações importantes se o objetivo for o baixo consumo:
1) O suporte da placa-mãe e a configuração do BIOS são fundamentais – já tive placas-mãe com BIOS muito inflexíveis. Nessa placa, o “ASPM nativo” e os estados L1 apropriados devem ser ativados (para permitir o controle pelo SO em vez do controle pelo BIOS) para que o baixo consumo de energia funcione.
2) Todos os dispositivos precisam suportar ASPM L1. Caso contrário, você estará realmente jogando os dados. A parte mais difícil aqui, como você já deve ter adivinhado, é encontrar controladores SATA compatíveis – se possível, obtenha uma placa-mãe com portas SATA conectadas ao chipset Intel suficientes para evitar a necessidade de uma placa separada. Devo observar que nem sempre é possível encontrar unidades NVMe que tenham estados de energia APST de baixo consumo de energia sob ASPM, e você também deverá fazer algumas pesquisas a esse respeito.
3) Se você puder atingir o estado de energia C8, evite usar pistas PCIe conectadas à CPU (PCIe superior e slot M2). Nessa placa-mãe específica, minha recomendação seria evitar usá-las completamente, se possível, a menos que você precise do caminho de baixa latência e largura de banda total para a CPU ou que seus dispositivos sejam tão ativos que nunca durmam. Lembre-se de que AMBAS as minhas placas SATA JMicron e ASMedia fizeram com que o estado C do pacote da CPU caísse para C2 se conectadas ao slot PCI-E x16.
4) Medir a energia da parede é a única maneira de garantir que o que você *pensa* que está acontecendo realmente está acontecendo. Um dispositivo Kill-A-Watt se pagará com o tempo se você usá-lo. Considere que comprei o meu em 2006 ($16USD + $14USD de frete na época pelo eBay). Naquela época, descobri que nosso aparelho de fax, raramente usado, que estava sempre ligado, consumia 7 watts… só o fato de manter esse dispositivo desligado quando não era usado durante os 10 anos seguintes já pagava mais do que o Kill-A-Watt.
Consumo de energia quando carregado com vários HDDs
Agora que várias peças entraram e saíram do sistema ao longo desse processo, a configuração atual é a seguinte:
- 1x Samsung 970 EVO Plus NVMe (unidade de inicialização de 500 GB)
- 2x Crucial P3 NVMe (4 TB cada)
- 5x Seagate 2.5″ HDD (5TB cada – 4TB utilizados)
- 6x Seagate 3.5″ HDD (10TB cada – 8TB utilizados)
- 2x placas ASM1166 que fornecem portas SATA
Potência total medida na parede (tela ligada, teclado ativado):
- 50 watts com todos os 11 HDDs em inatividade ativa
- 38 watts com as 6 unidades de disco rígido de 3,5 pol. em Idle B
- 34 watts com as 6 unidades de disco rígido de 3,5 pol. em Idle C
- 21 watts com o HDD de 6x 3,5 pol. em Standby_Z (girado para baixo)
- 18 watts com o HDD de 5x 2,5 pol. TAMBÉM em Standby
- 16 watts com a saída da tela TAMBÉM desligada
- 15 watts quando o PowerTOP tem permissão para desativar o teclado USB
A Seagate avalia o consumo em modo de espera dessas unidades de 3,5 pol. em cerca de 0,8 watts cada, e as unidades de 2,5 pol. em cerca de 0,18 watts cada. Isso está de acordo com o que estou vendo acima. Meus números de inatividade ativa também correspondem muito bem às especificações da Seagate.
A observação óbvia: em comparação com o restante dos componentes do sistema, os discos de 3,5 pol. são monstros que consomem muita energia.
Os HDDs acabarão sendo substituídos por SSDs. Com o consumo ocioso tão baixo quanto durante o modo de espera do HDD, não há muita pressa e esse processo ocorrerá gradualmente à medida que minhas unidades/pares de HDD falharem e os preços dos SSDs caírem.
O plano para o “jogo final” é uma construção totalmente em SSD. Originalmente, o plano era ter uma unidade de inicialização, 6xNVMe (provavelmente Crucial P3 4TB) para uma matriz RAIDZ2 e 6xSATA (provavelmente Samsung 870 QVO 8TB) para a segunda matriz RAIDZ2. Como o uso dos slots M2/PCIe conectados à CPU não só traz imprevisibilidade, mas também tem um pequeno custo de estado C/potência/temperatura, talvez eu altere esse plano e desista de alguns NVMe no primeiro array e use SATA para não precisar tocar nas pistas conectadas à CPU. O tempo dirá.
Detalhes desnecessários de armazenamento
Só vale a pena ler esta parte se você estiver interessado em detalhes meticulosos sobre o armazenamento. Caso contrário, fique à vontade para pular para a seção final.
Drive de inicialização NVMe
Como mencionado anteriormente, trata-se de um Samsung 970 EVO Plus. Atualmente, menos de 4 GB do espaço de 500 GB são usados (existe uma partição de troca de 64 GB, mas sempre fica em 0 usado). Ele foi escolhido originalmente porque a Samsung desenvolveu uma reputação de confiabilidade (que vem caindo no esquecimento ultimamente), e a Samsung também obteve uma boa pontuação nas avaliações sempre que se tratava de consumo de energia ocioso. Essa unidade está quase sempre ociosa e as temperaturas do controlador e da NAND permaneceram baixas durante todos os testes (20-24C). Eventualmente, ele poderá ser trocado por um SSD SATA para liberar uma porta NVMe.
Disco rígido de 2,5 polegadas
Essas unidades são usadas para a matriz ZFS RAIDZ2 primária de 6 unidades – a que é mais usada. Um dia por semana, ele está ocupado com uma tarefa que envolve a leitura de alguns TB ao longo de 24 horas. O uso durante o resto da semana é esporádico, e as unidades passam a maior parte da semana paradas. Para quem está se perguntando por que são usadas unidades pequenas de 2,5 pol. em vez de unidades de 3,5 pol., existe um motivo: consumo de energia.
O consumo de energia dos discos de 2,5 pol. da Seagate é honestamente muito impressionante. Quando girados, cada um deles é classificado como tendo 0,18 watts, em modo ocioso de baixo consumo de energia é classificado como tendo 0,85 watts e as médias de leitura/gravação são classificadas como tendo cerca de 2 watts. Há muitos SSDs no mercado com números de consumo de energia piores do que essa ferrugem giratória. A capacidade de 5 TB oferece uma grande quantidade de armazenamento por watt.
As principais desvantagens desses discos de 2,5″ da Seagate são:
- Não têm ótimo desempenho. 80-120MB/s de pico de leitura/gravação. Para ser justo, porém, muitos SSDs TLC/QLC caem para esses níveis de gravação quando o cache SLC se esgota.
- SMR (Shingled Magnetic recording). As leituras são boas, mas o desempenho de gravação cai drasticamente quando ocorrem gravações aleatórias – ele funciona como um SSD QLC sem um cache SLC que também não tem TRIM.
- Baixa carga de trabalho nominal (55 TB/ano vs. 550 TB/ano para unidades Exos de 3,5 pol.).
- Não há tempo de recuperação de erros configurável (SCT ERC), e essas unidades podem ficar suspensas por minutos se ocorrer um erro enquanto tentam incansavelmente reler o setor problemático. O Ubuntu precisa ser configurado para esperar em vez de tentar reiniciar a unidade após 30 segundos.
- Taxas de erro mais altas se eles esquentarem (tive que substituir alguns e descobri que eles não gostam de esquentar).
- Pontos problemáticos típicos de HDD (lento para girar, etc.).
Para ser absolutamente justo com a Seagate, esses discos são vendidos como unidades de backup USB externas. Retirar essas unidades de 15 mm de altura dos gabinetes e usá-las como membros RAID em um NAS não é exatamente usá-las como pretendido. O consumo de energia ultrabaixo é extraordinário, mas há compensações óbvias.
A longo prazo, essas unidades de 2,5″ de 4/5 TB serão lentamente substituídas por unidades SSD de 4 TB (possivelmente todas NVMe). Os SSDs com capacidade de 4 TB começaram a ser disponibilizados para o consumidor em 2021/2022 por cerca de 4 a 5 vezes o custo dos spinners. Menos de 2 anos depois, eles caíram para cerca de 2x o custo, e espero que marcas decentes durem mais de 2x mais do que os spinners da Seagate.
Se a disponibilidade do modelo Crucial P3 (Gen3) permanecer, provavelmente continuarei com esse modelo, apesar de estar limitado às velocidades da Gen3. Considerei fortemente o Crucial P3 Plus (Gen4), mas o consumo de energia nas análises foi maior, apesar de pouquíssimas situações em que o desempenho também foi notavelmente maior. Minha maior preocupação com o P3 Plus (Gen4) era que, se eu tivesse problemas com ASPM/APST, o Tom’s Hardware mostrava que ele tinha um prêmio de energia ociosa de 0,3 W em relação ao P3 (Gen3) para o modelo de 2 TB. Prefiro que a potência do “pior cenário” seja a mais baixa possível.
Disco rígido de 3,5 polegadas
Usado na matriz RAIDZ2 secundária de 6 unidades – uma matriz de backup que é ativada por cerca de 2 horas por semana e recebe gravações pesadas constantes.
O consumo de energia dos discos de 3,5 pol. da Seagate é mais ou menos o que se espera. Essas unidades de 10 TB são avaliadas em cerca de 0,8 W cada uma em modo de espera, 2 a 5 W ociosas e 6 a 9 W para leitura e gravação.
Há duas preocupações aqui:
- Estes são classificados para consumir coletivamente cerca de 45-50 watts durante a gravação. Isso é um pouco de carga extra do UPS que eu realmente não quero se ocorrer uma longa queda de energia durante os backups (eu uso UPSs de 1500 watts).
- Estes são classificados para puxar coletivamente cerca de 4,8 watts quando em modo de espera. Mais uma vez, eu não me importaria de reduzir a carga do UPS.
A longo prazo, essas unidades provavelmente serão substituídas por unidades SATA 870 QVO de 8 TB da Samsung. O 870 QVO apresenta 0,041w/0,046w em modo inativo com ALPM, 0,224w/0,229w em modo inativo sem ALPM e 2,0-2,7w durante uma cópia (de acordo com Toms/Anandtech).
Em termos de preço, o SSD SATA de 8 TB da Samsung é atualmente um pouco mais caro do que os spinners de 8 TB (quase o triplo do custo), portanto, a menos que essas unidades comecem a ser usadas com mais frequência por algum motivo, a substituição pelos SSDs quase certamente esperará até que eu fique sem peças sobressalentes.
Drive de cache NVMe
A substituição da minha ferrugem giratória por SSDs é um processo que provavelmente levará algum tempo.
Nesse meio tempo, o ZFS tem algumas opções para usar o armazenamento de alta velocidade (geralmente SSD) em vez do armazenamento mais lento:
- Classe de alocação “especial” – permite que você crie um vdev especificamente para metadados e para blocos “pequenos”, se desejar.
- Uma unidade de cache, conhecida comumente como L2ARC.
Se você criar o vdev “especial” na criação do pool, todos os seus metadados (e, opcionalmente, pequenos blocos de um tamanho que você escolher) serão colocados no vdev “especial” em vez de no seu disco giratório. Listagens de arquivos e passagem de diretórios muito rápidas, mantendo o spinning rust para os próprios arquivos. Sim, você pode “ls” vários diretórios sem acordar seus HDDs do modo de suspensão. A maior desvantagem é que, como todos os seus metadados estão nesse vdev, se ele morrer, o acesso a todos os seus dados será praticamente perdido. Portanto, ele realmente deve ser pelo menos espelhado. Talvez até mesmo um espelho de três vias. Diga adeus a algumas portas.
O L2ARC é um pouco diferente. Ele é essencialmente um cache de nível 2. Quando o cache na RAM fica cheio, o ZFS copia alguns dos blocos para o L2ARC antes de remover esse conteúdo da RAM. Na próxima vez que esses dados precisarem ser acessados, eles serão lidos no L2ARC em vez de no disco. Uma vantagem em comparação com o vdev “especial” é que você não tem problemas com apenas um SSD – se houver um problema com os dados no L2ARC (soma de verificação incorreta, morte da unidade etc.), o ZFS simplesmente lerá o conteúdo do disco original. Além disso, quando o L2ARC estiver cheio, o ZFS começará novamente no início do SSD do L2ARC e sobrescreverá as coisas que escreveu antes, o que tem alguns prós (dados antigos nunca mais acessados) e contras (dados que foram acessados com frequência e precisarão ser gravados no L2ARC novamente). Você também pode adicionar/remover dispositivos L2ARC do pool quando quiser – quer adicionar um SSD de 64 GB, um SSD de 500 GB e um SSD de 2 TB? Vá em frente – o ZFS distribuirá blocos entre eles. Precisa remover o SSD de 500 GB do pool alguns dias depois e usá-lo em outro lugar? Pode ir em frente. A maior desvantagem do L2ARC é que, se você se esquecer de especificar “cache” ao adicionar o dispositivo, provavelmente o pool será estragado. Ele também é imperfeito: mesmo com um ajuste cuidadoso, é difícil fazer com que o ZFS grave TUDO o que você quiser no L2ARC antes que ele seja removido da memória. Ao mesmo tempo, dependendo dos seus dados, o L2ARC pode receber muitas gravações e você pode ter que observar cuidadosamente a integridade do seu SSD.
No passado, usei o “especial”, usei o L2ARC e usei os dois ao mesmo tempo (você pode até dizer ao L2ARC para não armazenar em cache as coisas já contidas no vdev “especial”).
Desta vez, simplesmente optei por um L2ARC em um NVMe de 4 TB: uma vez que todas as outras unidades de 2,5 pol. tenham sido substituídas por SSD e os benefícios de velocidade de um cache SSD não se apliquem mais, posso simplesmente remover esse dispositivo de cache (embora, teoricamente, ter uma unidade de cache L2ARC lidando com a maior parte das leituras *permitiria* que as outras unidades NVMe permanecessem mais no modo de baixo consumo de energia…).
Conclusão – Arrependimentos? Dúvidas? O que poderia ter sido diferente?
Ao contrário da construção do ASRock J4005, em que percebi, no meio do caminho, que tinha me prejudicado de várias maneiras, não tenho a mesma sensação aqui. Desta vez, acabei com pouca energia ociosa E um sistema bastante capaz que deve ser flexível mesmo se for reaproveitado no futuro.
Estou bastante satisfeito com minhas escolhas de componentes, embora esteja curioso para saber como a MSI PRO Z790-P DDR4 (uma das outras placas-mãe que considerei) se sairia em comparação. Em termos de funcionalidade, a MSI tem a vantagem de ter 6 portas SATA, mas vem com a desvantagem óbvia do famoso chip de rede Intel 2.5G. O MSI também tem uma porta PS/2 e eu nunca verifiquei se o consumo de energia do teclado PS/2 é menor do que o do USB (lembre-se de que economizo 1 watt se permitir que o powertop desligue a porta USB do teclado). E, é claro, seria interessante comparar as configurações ASPM e ALPM e ver se os problemas que encontrei com os slots PCIe/M.2 conectados à CPU existem da mesma forma.
Embora esse sistema esteja atualmente na faixa de 15 a 16 watts quando ocioso com unidades em standby, assim que todos os HDDs forem substituídos por SSDs, eu esperaria um consumo ocioso de cerca de 10 a 11 watts, o que não é ruim para unidades de 72 TB, 64 GB de RAM e um processador bastante decente.
Atualização: Os kernels recentes do Linux desabilitam os modos de economia de energia L1 da maioria das placas de rede Realtek, o que impede que a CPU entre em estados C decentes, aumentando bastante o consumo de energia. Embora existam soluções alternativas, no futuro, provavelmente me limitarei a placas-mãe que contenham adaptadores de rede Intel de 1 Gigabit (talvez mudando para Intel de 2,5 Gigabit quando ficar claro que eles resolveram todos os problemas). Você pode encontrar mais detalhes sobre a situação da placa de rede Realtek nos comentários abaixo.
Artigo muito interessante, muito obrigado.
Então você não se importa com o ECC, alguns dizem que ele é obrigatório para um servidor sempre ativo, especialmente com o ZFS.
Além disso, os NVMEs parecem queimar mais combustível do que os SSDs.
Estou procurando uma placa-mãe ECC econômica, mas ainda não encontrei nada, pois as placas W680 são difíceis de conseguir.
Enquanto isso, estou executando o Unraid em uma placa Asrock J5040 com dois SSDs de 1 TB espelhados e três WDs mecânicos que ficam dormindo a maior parte do tempo.
O sistema consome 19 watts em modo inativo, sendo que consumia 16-17 watts (C6) antes de adicionar um controlador Asmedia (4). Em breve, substituirei a antiga PSU seasonic pela Corsair.
Abraços
Geert
Lembre-se de que, se o segundo slot M.2 estiver preenchido, apenas 5 das 6 portas SATA funcionarão. Se bem me lembro, o BIOS do H470M DS3H também ocultava algumas opções (como forçar IGPU ou GPU dedicada), a menos que fosse colocado no modo CSM. Além disso, ele travava aleatoriamente na tela de inicialização com um erro se eu tivesse um HBA LSI SAS instalado, o que exigia outra tentativa de reinicialização - no entanto, os controladores SATA normais funcionavam bem. Deixando de lado essas pequenas nuances estranhas, achei que ela era confiável e funcionava muito bem, e gosto bastante da placa.
Você planeja publicar um artigo semelhante, mas para um sistema com suporte a ECC e baixo consumo de energia ocioso que ainda seja compatível com o Linux (acho que o baixo consumo de energia ocioso da AMD não é o melhor para o Linux, por exemplo).
Estou planejando fazer essa construção em breve e gostaria de saber se devo começar a fazê-la no próximo mês ou dois ou talvez esperar um pouco para ler suas publicações, que forneceriam alguns sites úteis que podem me ajudar a tomar decisões mais bem informadas sobre a escolha dos componentes.
De qualquer forma, muito obrigado por esse artigo tão bem escrito. Você fez um trabalho impressionante ao destacar as partes importantes da construção de um NAS de baixo consumo de energia muito eficiente.
Também usei um 970 Evo Plus (2 TB) como unidade de inicialização e posso confirmar que ele deve estar conectado ao chipset para atingir estados C de pacote baixo (C8). O que achei interessante é que a diferença entre os pacotes C3 e C8 era muito maior quando a SSD estava conectada ao chipset. Acredito que isso se deve ao fato de que o próprio chipset só entrará em estados de suspensão profunda quando todos os dispositivos conectados suportarem ASPM e o SATA Link Power Management estiver ativo.
Conectar o SSD ao PCIe da CPU só aumentou o consumo de energia em ~2W (pacote C3 vs C8), enquanto não ter ASPM em um dispositivo conectado ao chipset parece consumir 5W adicionais apenas para o chipset, mas tem o mesmo efeito (C3) para o pacote C-State.
Uma coisa interessante que vale a pena observar é que tenho uma placa de captura DVB-C PCIe 1.1 conectada ao chipset. Embora o ASPM esteja listado como um recurso para a placa pelo lspci e eu tenha inicializado o kernel com pcie_aspm=force, ele não foi ativado para essa placa. Tive que forçar a ativação do ASPM via setpci, consulte https://wireless.wiki.kernel.org/en/users/documentation/aspm - parece funcionar sem problemas. Isso me ajudou a atingir os 15W de potência ociosa. Infelizmente, a placa de captura ainda consome ~5W, caso contrário, no momento, tenho apenas 2x4TB HDD da Toshiba conectados, que giram para baixo quando ociosos.
A propósito, o Sata Hot Plug deve ser desativado para todas as portas, caso contrário, o pacote atingirá apenas C6.
Excelente artigo, obrigado por todas essas informações.
Estou planejando construir meu NAS. Como o consumo de energia é o tópico principal, o que você acha da seguinte construção (mas eu sou meio noob sobre o sistema e o que é possível e/ou a limitação de um chip de tdp tão baixo)?
Asrock N100M micro ATX (com o novo processador Intel® Quad-Core N100 (até 3,4 GHz) com um tdp de 6W. Como há apenas 2 portas sata, a ideia é adicionar uma placa SAS HBA com 8 portas SATA adicionais no slot 1 x PCIe 3.0 x16. Para o armazenamento, seria 1 M2 (o da placa-mãe) para o sistema operacional TrueNas, 2 SSDs sata de espelhamento para VM, docker, ... e 8 HDDs Seagate EXO 7200 rpm como etapa final (2 no início e depois evoluindo de acordo com a necessidade).
Para a fonte de alimentação, um Seasonic Focus PX 550W - Modular 80+ Platinum ATX e, finalmente, um stick único de 32GB de RAM (não ECC).
Muito obrigado desde já
Em relação à placa SAS HBA, sugiro dar uma olhada para ver qual é o consumo de energia ocioso que os outros estão observando na placa específica que você está considerando: as mais populares geralmente consomem alguns watts enquanto não fazem absolutamente nada. Não tenho certeza de como o *BSD lida com as placas, mas das poucas que parecem ter o ASPM habilitado por padrão, o Linux parece desabilitá-lo no kernel em algum momento devido a problemas. Dito isso, essa é uma situação em que o ASRock N100 pode se sair melhor do que uma combinação separada de CPU/placa-mãe, pois eu esperaria que ele fosse menos sensível às implicações de estado c de uma placa de expansão, embora isso seja apenas uma suposição baseada no que eu vi com minhas placas ASRock J4x05 e pode não se aplicar ao N100.
O Seasonic PX 550W parece ser uma ótima escolha.
No geral, parece ser uma construção sólida!
Você tem alguma dica para identificar placas-mãe que consigam atingir baixo consumo de energia? Às vezes, as pessoas recomendam placas-mãe ITX, mas não encontrei nenhuma medida sobre quantos watts ITX ou ATX geralmente economizam. Agora, a ITX não teria funcionado para essa construção, mas a ATX não parece ter sido uma fonte significativa de consumo de energia de qualquer forma. Em geral, parece muito difícil descobrir quais placas-mãe são eficientes em termos de energia e quais não são?
O que você quer dizer com "a sobrecarga de silício do E-core" e por que tentou evitá-la? Entendo que as CPUs com E-cores são provavelmente mais complexas, mas eu imaginava que os E-cores poderiam levar a um menor uso de energia quando a CPU está realizando tarefas não intensivas com carga baixa.
Mais uma vez, obrigado pelas ótimas informações. Espero poder construir um sistema com eficiência de energia semelhante. No momento, tenho uma placa-mãe Gigabyte Z790 UD AX e um sistema i5-13500 que não consegue ficar abaixo de 28W.
A vantagem do ITX é que ele tende a limitar a contagem de componentes, mas isso não é estritamente necessário - na semana passada, eu realmente reaproveitei o "Intel i3-10320 em um Gigabyte H470M DS3H" que mencionei no início e consegui reduzi-lo para 6 watts ociosos (sem cabeça, sem teclado, somente rede Intel i219V 1GbE integrada, c-states no BIOS, 3 SSDs Samsung SATA 840/860/870, fonte de alimentação Corsair RM850, Ubuntu Server com powertop). É uma placa-mãe muito utilitária. Não farei um artigo separado porque a placa não está mais disponível, mas 6 watts na placa MicroATX Gibabyte H470 e 7 watts na placa ATX ASUS H770 neste artigo são meus dois melhores resultados até agora e, notavelmente, nenhuma delas era ITX. Outra coisa que acabei de notar: essas duas placas têm apenas 6 fases de energia.
Com relação ao "E-core silicon overhead", muitos detalhes podem ser encontrados em https://www.hwcooling.net/en/the-same-and-yet-different-intel-core-i5-12400-duel-h0-vs-c0/ , mas tentarei resumir. O i5-12400 vem com 6 núcleos P e 0 núcleos E habilitados, comumente chamado de 6+0. No entanto, ele veio em duas variantes: uma etapa "C0", que era originalmente um 8+8 que teve núcleos fundidos para se tornar um 6+0, e uma etapa "H0", que foi fabricada diretamente como um 6+0 e nunca teve nenhum hardware de núcleo E dentro. Nos testes (página 5 desse artigo), o C0 consumiu até 16 watts a mais de energia do que o H0, dependendo do benchmark, incluindo quase 11 watts a mais em modo inativo. É sempre possível que a amostra do C0 tenha tido outros problemas que contribuíram para causar vazamento de energia ou que haja alguma outra variável em jogo, mas, de qualquer forma, os dois chips que tinham hardware físico de E-Cores não se saíram bem no teste de inatividade.
Como meu foco é o consumo ocioso extremamente baixo para a maioria dos meus sistemas, não posso justificar a compra de nenhum dos chips combinados P/E-core até que eu veja alguns dados que mostrem que os chips com E-cores estão consumindo menos de 10 watts em modo ocioso. E eu simplesmente ainda não vi. Essa é uma área em que a Intel está muito ameaçada atualmente: os Mini PCs da AMD agora estão chegando a um consumo de energia ocioso de cerca de 6-7 watts para um Ryzen 9 7940HS ( https://youtu.be/l3Vaz7S3HmQ?t=610 ) e se a AMD trouxer esse tipo de design de APU para o lado do desktop ou se alguém como a ASRock começar a empacotar alguns desses impressionantes chips HS em uma placa-mãe personalizada, a Intel poderá perder rapidamente o mercado de baixo consumo de energia ocioso.
Dito isso, mesmo que sua placa tenha muitos MOSFETs ineficientes, o consumo de energia de 28 watts que você disse estar obtendo parece um pouco alto, a menos que você tenha alguma ferrugem girando ou uma placa PCIe que consuma muita energia. Você verificou se está atingindo o C6 ou estados de energia melhores? Lembre-se de que, quando coloquei o ASM1166 no slot PCIe principal, eu estava limitado a C2 e estava consumindo 22 watts.
Você está realmente correto ao afirmar que os 28 W que compartilhei não eram tão bons quanto poderiam ser. Cometi o erro de pensar que desconectar os cabos SATA dos meus HDDs os deixaria desligados. Como é óbvio em retrospectiva, você também precisa desconectá-los da PSU. Além disso, eu tinha vários periféricos conectados ao PC que não sabia que consumiriam energia (em particular, um monitor conectado faz uma grande diferença). Depois de desconectar todos os HDDs e todos os periféricos, obtive leituras na faixa de 8 a 10W.
Para que este seja um ponto de dados útil para outras pessoas, vou compartilhar mais alguns detalhes. A CPU é um i5-13500 em uma placa-mãe Gigabyte Z790 UD AX. A única coisa conectada é um SSD SATA e um único stick de memória. A PSU é uma Corsair RM850x de 850W. O sistema atinge C8 e até C10. Algumas outras coisas poderiam ser feitas para reduzir o consumo de energia. Eu estava medindo enquanto o GNOME estava ocioso (presumo que não ter nenhum DE em execução economizará um pouquinho de CPU), tenho duas ventoinhas da CPU que estão funcionando lentamente mesmo em baixas temperaturas, o sistema está em WiFi (presumo que a ethernet consome menos energia) e não desativei os LEDs do gabinete nem o áudio HD.
Agora estou muito satisfeito com o nível de consumo de energia. Talvez uma conclusão seja que os E-cores da Intel não afetam muito o consumo de energia ocioso, pelo menos nessa CPU. O único problema que tenho agora é que o sistema está instável e reinicia esporadicamente 😭. Acho que reduzi o problema a uma CPU com defeito ou a uma placa-mãe com defeito (tentei substituir a PSU e o memtest86+ diz que a memória está boa). A empresa onde comprei as peças afirma que ambas estão boas, mas, a menos que eu encontre outra solução, tentarei substituir a CPU e a placa-mãe por algumas peças de baixo custo: um i3 de 13ª geração e uma placa-mãe Asus B760M-A. Se isso resolver o problema, espero poder devolver as outras peças; na pior das hipóteses, usarei as peças econômicas para um servidor e as peças mais sofisticadas para uma estação de trabalho.
Tentei todas as configurações, mas quando habilito o c8/10 o sistema fica instável e desliga em algum momento. Verifiquei todos os drives e cabos, troquei a psu duas vezes e estou aguardando um RMA para a CPU da Intel. A julgar por este tópico aqui, pode parecer que esse é um problema da gigabyte. Também tentei vários firmwares de BIOS sem sorte, então parece que, se um RMA de CPU não resolver o problema, seria um problema com as placas-mãe Gigabyte z790.
Com certeza é decepcionante, pois estou sem janela de devolução e realmente não quero lidar com o RMA da Gigabyte, portanto, se o RMA da CPU não funcionar, terei que conviver com ele ou vendê-lo e comprar uma placa diferente.
Como este tópico é um pouco antigo (dezembro de 2023), gostaria de saber se mais alguém teve esse problema e conseguiu resolvê-lo.
Obrigado.
No momento, estou testando um ASUS TUF GAMING B760M-PLUS WIFI D4 (12+1 DrMos) e, em modo inativo, com o monitor e o USB (mouse, teclado) suspensos, o medidor de energia mostra 6,7-8,1 W. O restante do sistema:
- i5 13500
- 2 x 16 GB 3600 MHz (equipamento 1)
- 1 TB KC 3000
- RM550x 2021
- 2 ventoinhas de 120 mm a 450 rpm
- Codec de áudio ligado
- WiFi desligado
Arch Linux + módulo RTL8125 (meu roteador não é compatível com EEE)
Com a placa Realtek desativada, o medidor de energia mostra 6,4 - 6,7 W
Estados do PC com LAN
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%
Estados do PC sem LAN
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%
Obtive resultados semelhantes em uma B660 AORUS MASTER DDR4 (16+1+1).
Gostaria de compartilhar minha experiência com meu novo PC de 12-14 W.
Acabei de montar um PC mini-ITX sem ventilador. O gabinete também é um resfriador passivo - AKASA Maxwell Pro e dentro dele está o AMD Ryzen 5600G (Zen 3, 65W TDP), Gigabyte B550I AORUS PRO AX (bios FB), 1x 16GB DDR4 (planejo atualizar para 2x32GB), 1x 2TB Samsung 980Pro m.2 SSD. Ele é alimentado por uma fonte de alimentação de 12V AC/DC da AKASA (máx. 150W) e pela Inter-Tech MINI-ITX PSU 160 W.
Consumo de energia ocioso de 12-14 W para todo o PC com Windows 10 (medido no lado CC, o plano de energia está equilibrado, mas habilitei ASPM, Pstates e C-states no bios e economia de energia PCIe na configuração avançada do plano de energia do Windows).
Sob carga (Cinebench R23) 61-65W. Atualmente, estou fazendo undervolting para melhorar o consumo de energia e as temperaturas.
----------
meu pequeno laboratório doméstico e NAS têm consumo de energia ocioso abaixo de 2W ‼️
Eu recomendo o Odroid H3 (H3+) com BIOS 1.11 e Debian 11 + DietPi + kernel 6.0.0 (ou mais recente) + ajustes aplicados via powertop, ele tem consumo de energia ocioso de apenas 1,2 - 1,5W (comparado a 2,7W para RPi 4 - fonte) ⚡️ (com minha configuração: 1x 16GB RAM e 1x SATA SSD).
Ver: https://i.ibb.co/7QD390m/H3-1-10-6-0-0-sata-idle.gif
O tamanho máximo da memória é 64 GB de RAM e ele tem 1x porta m.2, 2x SATA 3 e 2x LAN 2.5Gbps. É muito mais rápido que o Raspberry Pi 4 com menor consumo de energia em modo inativo. Em carga, ele pode consumir 20W (depende dos dispositivos conectados).
Se você precisar de mais portas SATA, a porta m.2 pode ser expandida para 5x SATA usando isto: https://wiki.odroid.com/odroid-h3/application_note/m.2_to_sata_adapter
No momento, estou lutando para que meu novo NAS use menos de 40 W em modo inativo, sem unidades de dados, e não consigo entender por que ele está usando tanto. Meu desktop para jogos fica ocioso com menos.
É um Asrock H670M-ITX/ac com um i3-12100, 8 GB de RAM e uma PSU de 400 W silenciosa. Originalmente, usava um Kingston NV2 NVMe para o sistema operacional, mas descobri que substituí-lo por um SSD SATA reduziu a energia ociosa em cerca de 10W (50W - > 40W).
De acordo com o powertop, os núcleos entram no C7 sem problemas, mas o pacote se recusa a sair do C2. Não sei se isso é muito importante.
Vou continuar trabalhando nisso, tendo seu artigo como referência :)
Matt,
Seus artigos me inspiraram, então comprei a mesma placa-mãe (prime h770 plus d4) e um processador semelhante, etc. Consegui atingir um mínimo de 12-14w. Estou feliz com isso por enquanto, mas os 8w adicionais devido ao fato de o pacote não atingir mais o c8 têm sido muito frustrantes.
Infelizmente, essa foi uma alteração intencional no driver Realtek contido no kernel. Ela garante que o L1 seja desativado em praticamente todos os adaptadores Realtek, aparentemente em resposta a vários adaptadores Realtek que apresentam problemas de estabilidade quando esses estados de baixo consumo de energia são ativados. No meu sistema de teste atual, isso resulta em um aumento de energia de 4 watts no modo inativo, com a tela desligada, pois o sistema não vai mais além de C3.
Experimentar o driver da Realtek que foi vinculado pelo Tseting provavelmente será a solução mais fácil por enquanto, embora eu não tenha ideia de como ele se sairá em versões não suportadas do kernel e, pessoalmente, não sou um grande fã de módulos do kernel. Vou colá-lo aqui por conveniência: https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
É claro que existe uma solução mais difícil - para aqueles que estão familiarizados com a compilação do kernel, reverter a alteração no diff acima restaurará L1/L1. 1 nos dispositivos RTL8168h/8111h, RTL8107e, RTL8168ep/8111ep, RTL8168fp/RTL8117 e RTL8125A/B (qualquer dispositivo mais antigo já o tinha desativado) - se quiser permitir o L1.2, você pode forçar o rtl_aspm_is_safe() a retornar true, embora no meu sistema de teste isso não tenha trazido nenhum benefício em relação ao L1.1.
A menos que os desenvolvedores do kernel mudem de ideia, parece que as placas de rede Intel podem ser a única opção viável no futuro. Em geral, as placas de rede Intel 1G têm se mostrado muito sólidas. O que é preocupante é que descobri que desativar a placa de rede Realtek na minha placa MSI não a desativa completamente (ainda está presa em C3), portanto, comprar uma placa com uma placa de rede Realtek com planos de desativá-la e usar uma placa de expansão de rede Intel pode ser arriscado. Vale a pena observar que, no futuro, os fornecedores poderão definir um sinalizador em um adaptador 8125A/B para indicar que o L1.2 foi testado e permitido, o que o kernel do Linux respeitará, mas não sei se ele foi incluído em alguma placa-mãe ou placa de expansão.
obrigado pelas informações detalhadas que você compartilhou.
Sua configuração me inspirou e eu comprei o "Prime h770-plus", incluindo 4800 DDR Ram.
Infelizmente, também tenho problemas com SSDs NVME quando o aspm está ativado na BIOS (e o clock gating do PCI Express). As soluções alternativas para bloquear determinados modos de economia de energia dos WDs não ajudaram. Experimentei o SN750 (1 TB) e o SN850X (2 TB).
Você ainda pode recomendar o Crucial P3 ou ele também falha regularmente com relação a problemas de ASPM?
Quem tem qual outro NVME na placa funcionando de forma confiável com o ASPM ativado?
Você executa a configuração de forma produtiva em operação contínua?
Além disso, descobri que um 840pro (256 gb), pelo menos no SATA1, impede que o sistema fique abaixo de C3. Um Crusial Force GT (128 GB), por outro lado, funciona até C8.
Contornei o problema com a placa de rede Realtek removendo a verificação no kernel.
Obrigado e cumprimentos
"Acho que muitas dores de cabeça poderiam ter sido evitadas se você tivesse encontrado uma placa com mais portas sata!"
Isso não é verdade por padrão, pois depende do controlador SATA usado e/ou de como essas portas estão conectadas. Há grandes chances de que ele esteja usando um controlador integrado e, especificamente para o N5105, há uma variante de NAS bastante conhecida com 6 portas SATA sendo vendida pela Kingnovy e pela Topton.
A preta usa o JMS585 e a verde usa o ASM1166 - a preta está presa ao C3 e a verde pode ir até o C8 (eu mesmo verifiquei, pois tenho a variante verde). Se eu precisasse de algo mais do que um servidor de backup, eu seguiria o caminho aqui - com um Intel muito mais potente no LGA1700.
Um bom exemplo de como o consumo de energia ocioso pode ser baixo é o Odroid H3 - <2W ocioso com 2x HDDs via SATA em Spindown ... no entanto, assim que você adicionar componentes (errados), isso irá acelerar rapidamente - verifique as estatísticas de consumo de energia aqui:
https://github.com/fenio/ugly-nas
TLDR: No final das contas, ele está consumindo mais energia do que a sua construção aqui - e devo acrescentar que já tive um Odroid H2, que queimou a pista de 5V e puxou os SSDs (caros) com ele ... desde então, estou me afastando para obter o máximo absoluto do menor consumo de energia em combinações exóticas como o Odroid H3.
Eu diria que, no final das contas, tudo se resume a: quão prático tudo é em relação aos níveis de consumo de energia.
Dito isso, estou impressionado com essa construção aqui - 7W em modo inativo com uma PSU de 750W é algo impressionante.
No momento, estou atualizando meu servidor doméstico do j3455 para o 11400.
Ao trocar de hardware, encontrei um problema estranho:
I5-11400+2x8Gb 2666 ddr4 +ASUS Prime B560M-A (bios mais recente) +asm1166.
Se eu inicializar a partir do USB sem nenhuma unidade sata conectada, o estado do pacote C chega a c8.
Se eu inicializar a partir do USB com uma unidade SATA conectada ao controlador sata integrado, o estado do pacote C atinge apenas C2 (+4W).
Se eu inicializar a partir do USB com uma unidade SATA conectada a uma unidade pcie asm1166, o estado do pacote C atinge c8.
Portanto, parece que o controlador SATA b560 parece ter problemas com a economia de energia. Mesmo que eu tenha ativado o L1 para tudo e executado o powertop tune, ele não vai abaixo de c2.
Você tem alguma ideia do que pode fazer com que o controlador SATA b560 cause mais 4w?
* Verifique se o SATA Link State Power Management está ativado (no meu H770, está em Advanced/PCHStorageConfiguration/AggressiveLPMSupport).
* A página da placa-mãe ASUS Prime B560M-A afirma que a porta SATA_2 compartilha a largura de banda com o slot M.2_2. Não sei como isso é tratado internamente, mas se você estiver conectado à SATA_2, tente uma das outras portas SATA da placa-mãe
* Desative o SATA Hot Plug (o xblax mencionou isso acima)
* Experimente outro SSD, se você tiver um, para ver se há alguma diferença (SaveEnergy mencionou isso acima)
No final das contas, poderia ser mais barato adicionar outro ASM1166 em vez do controlador onboard :D
Ele está ativado. Também tentei desativá-lo, mas isso não alterou o consumo de energia ou os C-States. (Deixando-o ativado por enquanto)
No BIOS, posso especificar se o M.2_2 está usando SATA ou PCIE. De acordo com o BIOS e o manual, a SATA6G_2 só é bloqueada se a M.2_2 estiver definida como SATA.
Mas eu conectei o ASM1166 no M.2_2 e o configurei como PCIE. Confirmei que todas as portas SATA onboard funcionam como esperado com essa configuração.
O Hotplug está desativado para todas as portas por padrão. Eu o habilitei para ver se isso mudava alguma coisa, mas não mudou. Vou deixá-lo desativado por enquanto.
Inicializei a partir do USB e experimentei diferentes dispositivos: 2x SSDs (Emtec e Samsung antigo), 2x HDDs de 3,5" (WD e Seagate) e até 1x gravador de DVD LG.
Parece que não importa o tipo de dispositivo conectado.
É sempre a mesma coisa, assim que conecto um dispositivo SATA onboard o C2 é máximo.
Para verificar isso, inicializei a partir do pendrive USB com dispositivos SATA conectados e, em seguida, desconectei todos eles durante a inicialização.
Assim que o último dispositivo SATA é fisicamente desconectado do sistema ativo, ele vai para o pc6 imediatamente e para o pc8 logo em seguida.
Ao reconectar todos os dispositivos SATA, ele permanece no PC6/8, mas o dmesg também não reconhece a reconexão (provavelmente por causa da desativação do hotplug)
Vou examinar os registros de inicialização do dmesg, talvez apareça algo interessante.
-O slot m.2 da mobo funciona (testado com o ssd m.2), a controladora sata funciona (testada com o adaptador m.2-pcie e o slot x16 da mobo e o slot m.2 de outro minipc), mas com o asm1166 conectado ao slot m.2, nada aparece na bios ou no lspci. Portanto, parece que a placa da Asrock tem algum problema.
Além disso, uma coisa que não entendo em geral: se eu usar o servidor doméstico como um NAS e também como meu roteador, isso impediria que ele atingisse estados de c alto em estado ocioso, já que sempre teria que fazer algum trabalho? Tenho uma conexão gigabit e atualmente estou usando o openwrt em um pi4, mas com o qos ativado, consigo obter metade da velocidade de download.
Mais uma vez, obrigado.
Quanto a ser um roteador, não tenho certeza, embora seja algo que espero testar nas próximas semanas. Atualmente, tenho o velho ASRock/Intel J4005B-ITX executando o OpenWRT aqui como um roteador, mas o limite da placa-mãe é C6 (embora ele passe de 88 a 92% do tempo lá após o powertop com tráfego doméstico típico, incluindo um streaming do YouTube que testei agora). O equipamento é alimentado por uma das minhas antigas PSUs Antec, e fica de forma confiável em uma potência constante de 10 watts.
EDITAR/UPDATE 13 de dezembro: Apenas para acompanhar, fiz alguns testes com o Asus H770 + i3-12100 + Intel i350-4T executando o OpenWRT em um contêiner systemd-nspawn executando privileged com SYSTEMD_SECCOMP=0. Os resultados são um pouco confusos.
Sem fazer nada, ele estaria em C10 90-95% do tempo.
TESTE A: lidando com apenas um dispositivo assistindo ao YouTube, 90% C10. Conectado a um tráfego doméstico muito leve (irregular, com média abaixo de 3 Mbit/s), ele ficou em C10 por 80-90% do tempo. Ao fazer o download de um dos meus servidores da Web, que limita a taxa a 4 MB/s (aproximadamente 32 Mbit/s), ele caiu para cerca de 50-60% do intervalo em C10.
TESTE B: execução de testes iperf de um VPS externo para uma máquina local (encaminhando uma porta):
- 0 Mbps = aproximadamente 82% C10 (somente tráfego doméstico)
- 1 Mbps = aproximadamente 73% C10
- 5 Mbps = aproximadamente 61% C10
- 10 Mbps = aproximadamente 58% C10
- 20 Mbps = aprox. 30% C10
- 30 Mbps = aproximadamente 12% C10
...atingiu 0 a pouco mais de 40 Mbps.
TESTE C: curiosamente, a passagem pelo roteador entre duas redes locais (sem NAT, apenas encaminhamento) ofereceu resultados diferentes:
- 0 Mbps = aproximadamente 82% C10 (somente tráfego doméstico)
- 1 Mbps = aproximadamente 82% C10
- 5 Mbps = aproximadamente 80% C10
- 10 Mbps = aproximadamente 74% C10
- 20 Mbps = aprox. 70% C10
- 30 Mbps = aproximadamente 64% C10
...atingiu 0 a pouco mais de 70 Mbps.
Como estou em um contêiner nspawn, não pude experimentar o descarregamento de fluxo de software na seção de firewall do OpenWRT para ver se isso atenuaria o impacto nos testes A e B. É bem possível que o "descarregamento de fluxo" que ele faz aproximasse os resultados do teste C. Também é possível que o IPv6 se saia melhor nos testes A e B ao ignorar o NAT, embora o impacto de pacotes menores, porém em maior quantidade, sempre possa atrapalhar as coisas.
Até onde posso dizer, a conclusão aqui é que há um certo grau de tráfego que o computador pode suportar como firewall e ainda encontrar oportunidades para dormir. Mas se ele estiver sendo mantido acordado... outras opções também começam a parecer atraentes. Acabei de testar o Intel J4005 novamente (conectado a nada além de um monitor) e ele fica entre 9 e 10 W no OpenWRT, mesmo se o C-States estiver desativado, e suspeito que a série J5xxx seja semelhante (não faço ideia do N100). Se for necessário um pouco de potência, meu Ryzen 5600G consome de 22 a 23 W em um LiveDVD do Ubuntu com o C-States desativado. Ambos começam a parecer igualmente atraentes sempre que o Alder Lake perde sua vantagem de estado C, na minha opinião.
EDITAR/UPDATE 15 de dezembro: Bare metal, Debian configurado como um roteador. O TESTE B foi quase idêntico, exceto pelo fato de que o tempo em C10 foi de +6% para cada item - ainda assim, atingiu o limite de 40 Mbps. As tabelas de fluxo não ajudaram.
O teste C foi um pouco melhor, com os números finais sendo:
- 70 Mbps = aproximadamente 70% C10
- 75 Mbps = aproximadamente 60% C10
- 80 Mbps = 0% C10 (aqui foi um obstáculo)
Quando habilitei as tabelas de fluxo para o Teste C, consegui um pouco mais:
- 80 Mbps = aproximadamente 60% C10
- 85 Mbps = aproximadamente 45% C10
- 90 Mbps = 0% C10 (aqui, o problema foi maior)
TESTE D: Para testar o impacto de um número crescente de conexões, abri um cliente de torrent e adicionei várias torrents com uma velocidade de download global limitada de 1 MB/s.
- 0 conexões = aproximadamente 80% C10 (somente tráfego doméstico)
- 16 conexões = variação de 36 a 39% de C10
- 32 conexões = variou 33-35% C10
- 64 conexões = variou 26-29% C10
- 128 conexões = variou de 21 a 29% C10
- 256 conexões = aproximadamente 20% C10
- 512 conexões = aproximadamente 15% C10
- 1024 conexões = aproximadamente 5% C10
...Tentei tabelas de fluxo em vários pontos. Nenhuma diferença positiva.
Fiz algumas descobertas interessantes ao longo dessa jornada.
Primeiro, as tabelas de fluxo não ajudaram muito. Quando muito, parecia que os testes de velocidade on-line pareciam ter um pico um pouco menor. Talvez seja algo específico do Intel i350-T4 que usei (em um Debian bare metal H770 e um OpenWRT bare metal J4005).
Em segundo lugar, o OpenWRT em um contêiner não foi uma experiência agradável. Tive problemas estranhos que surgiram quando algumas conexões eram sólidas e outras tinham dificuldades. Talvez, com ajustes e persuasão suficientes, seja possível fazer com que ele funcione sem problemas. Descobri que uma VM consumia de 2 a 2,5% da CPU em tempo integral em uma instalação simples e não era fácil para os estados C, portanto, não fui atrás disso.
Em terceiro lugar, e isso é muito obscuro e provavelmente específico do ASUS H770 ou talvez da minha combinação de hardware ou até mesmo do kernel do Linux que eu executei... se a placa de rede Realtek integrada estivesse ativada no BIOS, mas NÃO estivesse ativada (por meio de um arquivo systemd-networkd .network), ter outra placa de rede instalada e ativada fazia com que o sistema passasse 50% do tempo em C3. Por "ativada", quero dizer até mesmo algo tão simples como um [Match]name=X com o restante vazio. Experimentei um i210, um i340 e um i350. Ao usar o i350-T4, notei que um item SMBUS correspondente no powertop também desapareceu depois que desativei a placa de rede integrada e movi a placa para o segundo slot PCIEx1. Às vezes, parece que a ASUS tem alguns gremlins no barramento PCIE.
Segui seu exemplo e comprei a mesma placa-mãe com uma CPU i3-13100.
Tenho um problema que não consigo resolver e não sei onde/o que procurar.
Instalei o Ubuntu 22.04 e tentei com o 23.04, mas o problema continua o mesmo:
Sempre que tento fazer ping em http://www.google.com, tenho um problema ASSIM QUE retiro o teclado e o mouse:
- ou "ping sendmsg no buffer space available" com os drivers r8168
- ou "pcie link is down" com os drivers r8125
Removi todas as opções de gerenciamento de energia que encontrei.
Tentei conectar outro dispositivo USB.
Alguma pista?
1. Verifique a saída do "dmesg" para ver se há algum evento associado.
2. Veja se o problema ocorre durante a inicialização por meio do LiveCD 22.04/23.04 ou se é apenas pós-instalação.
3. Experimente o Ubuntu 23.10 (acho que a versão de lançamento veio com o kernel que desabilitou o ASPM no RTL8125) - seja com o LiveCD ou com a instalação, dependendo dos resultados do item 1.
4. Experimente um conjunto diferente de portas USB, faça uma de cada vez para determinar se é o teclado ou o mouse (ou ambos), experimente um teclado/mouse de marca diferente para ver se isso faz diferença.
5. Desconecte/reconecte o cabo de rede para ver se a rede volta a funcionar ou se fica inativa para sempre.
6. Desative a opção "F1 para erro" no BIOS e tente inicializar o sistema operacional sem o teclado/mouse conectado e, em seguida, veja o que acontece quando ele é conectado e desconectado.
7. Se você tiver uma placa de rede PCIe por perto (de preferência que não seja da Realtek para este teste), veja se ela apresenta o mesmo problema.
Talvez outra pessoa que tenha tido o mesmo problema possa responder. Essa não é uma situação que eu teria encontrado, pois acabei deixando meu teclado conectado (eventualmente trocando por um teclado sem fio que não se importava de ser desligado pelo powertop). Sempre pode ser um problema estranho com hardware defeituoso.
CPU: i5-12600K
PSU: Corsair RM750e
NVMe: Samsung 980 Pro
RAM: 2x16 GB DDR5
SO: Ubuntu 23.04 Server (executando via USB)
Inicialmente, comprei um ASRock B760M Pro RS. Depois de ajustar o BIOS e mesmo depois de forçar a ativação do ASPM na placa Realtek, não consegui baixar o PC-3. Minha potência total era de aproximadamente 15 watts. Não era terrível, mas essa máquina era para um novo servidor doméstico que funcionaria 24 horas por dia, 7 dias por semana, e eu sabia que poderia ser melhor. Enviei um e-mail para a ASRock, já que o BIOS deles não define explicitamente os valores de estado do PC, apenas tem um estado triplo de Auto, Ativado e Desativado, para saber se eles planejam adicionar suporte e não obtive resposta. Então, não falei mais com eles.
Devolvi o ASRock e troquei por um ASUS Prime B760-M-A. Configurei o BIOS e executei o powertop. O ASPM L1 estava funcionando no Realtek sem alterações do usuário. Eu estava com cerca de 11 watts. Depois de desconectar o cabo DP e o KB/mouse sem fio USB, o consumo caiu para 7,2 watts. Fantástico! Ele conseguiu baixar para PC10 e o sistema parece muito estável. É incrível como os computadores desktop evoluíram em termos de consumo de energia.
acabei de fazer uma compilação com uma Asus Prime b760M d4 e tive exatamente as mesmas descobertas em minha placa-mãe. Entrei em contato com a Asus para ver se eles têm algum feedback sobre o slot pci/m2 conectado à CPU. Chego ao C6 quando tenho um intel I226-v no slot x16 e um samsung 970 evo no slot m2 da CPU.
No entanto, minha placa de rede X710-da2 precisa ser instalada no slot x4, pois se for usada no pacote x16, o estado c vai apenas para c2/c3.
Não tenho problemas com meu nic i226-v.
Meu caso de uso era construir um roteador de 10 gigabits de baixa potência. Atualmente estou executando o OPNsense, mas posso mudar para o Vyos para reduzir a carga do sistema.
Tentei com
1. intel x520-da2 (placa da china), que não suporta aspm
2. melanox connectx4 (placa da china), que suporta aspm, mas só permite c3
3. randome i226 nic da china - que suporta aspm, mas não pode habilitar aspm
Então, você pode me informar o modelo exato ou onde comprou seu i226v-nic, por favor?
Tenho certeza de que você já ouviu isso antes, mas obrigado por suas postagens informativas e pelo seu tempo.
Sou 100% novato nisso tudo e, para ser sincero, é um pouco assustador, mas a ideia de ter um servidor é incrivelmente atraente. Abordei tudo isso exatamente como fiz quando comecei a montar um computador: um monte de vídeos no YouTube, li um monte de artigos e meio que me atrapalhei. Ao pesquisar a construção de servidores, fica imediatamente evidente que você realmente precisa saber o que está fazendo, e ler seus artigos torna isso ainda mais evidente.
Quais são suas sugestões para um servidor plex/jellyfin, sempre ligado, com baixo consumo de energia e recursos completos de transcodificação? As pessoas parecem gostar muito ou pouco de produtos como o synology e o QNap, o que me deixa em dúvida. Mais uma vez, obrigado
Obrigado pelo excelente artigo! Este ano, criei um NAS de baixa potência para substituir meu QNAP TS-351 (Intel J1800) e um Gigabyte Brix J4105 pré-construídos. Meus requisitos eram que esse novo sistema precisasse consumir menos energia, em média, do que esses dois sistemas combinados e ter um desempenho muito superior. Com a ajuda de seus artigos (anteriores), do fórum holandês Tweakers, do fórum alemão Hardwareluxx, do fórum unRAID e de algumas outras fontes, cheguei ao seguinte:
- Intel i5-13500
- Gigabyte B760M GAMING X DDR4
- Crucial Pro CP2K16G4DFRA32A
- Não faça barulho! Pure Power 12 M 550W
- 1x Toshiba MD04ACA50D 5TB (do meu NAS)
- 2x Toshiba MG07ACA14TE 14TB (do meu NAS)
- Crucial P1 1TB (NVMe)
- Samsung 980 1TB (NVMe)
- Crucial BX500 1TB (backup conectado por USB)
- Transcend SSD230S 2TB (SSD SATA)
- Unidade USB2.0 Philips OEM (unidade de inicialização)
Com essa configuração, atualmente executo quase 50 contêineres do Docker com vários aplicativos e bancos de dados e consigo atingir 17 W da parede em modo inativo. Tudo foi desligado e nenhum serviço foi acessado, exceto o SSH. O que me deixa bastante satisfeito. O pacote C8 pode ser alcançado, especialmente quando a maioria dos aplicativos não está fazendo muita coisa ou quando eu os paro. Quando eu paro tudo, posso chegar a 11W no mínimo no unRAID.
Outra coisa que eu (e vários outros) notamos no Intel 600/700 foi que o uso de dispositivos seriais USB2.0, como dispositivos Zigbee ou Z-Wave, aumentou muito o consumo de energia. Algo como 5-7W. Atualmente, uso o ser2net em um Pi para contornar esse problema. Entrei em contato com a Gigabyte e a Intel, mas ambas negaram que isso fosse um problema.
Também utilizo E-cores para a maioria dos aplicativos, o que me economiza 1-2W em média. Alguns deles se aplicam aos processos do sistema, que eu costumo mover para esses núcleos com o conjunto de tarefas. O que parece funcionar muito bem.
Com relação à placa de rede da Realtek, recentemente experimentei o driver "nativo" da Realtek que está disponível na loja de aplicativos, mas ele desativou completamente o L1 para mim. Isso resultou em um acréscimo de 4W. Revertendo para o driver do kernel e forçando o L1 com: `echo 1 > /sys/bus/pci/devices/0000\:04\:00.0/link/l1_aspm` funciona.
Se tiver alguma dúvida, entre em contato. Tenha um ótimo ano novo <3!
/sys/bus/pci/devices/$DEVICELOC/link/l1_aspm
- obrigado por isso. Acabei de testá-la com o RTL8125 na minha placa MSI e funciona muito bem - é muito mais fácil definir isso na inicialização em vez de criar um kernel personalizado. Infelizmente, o RTL8168 no antigo Gigabyte H110N aqui não parece ter essa configuração sysfs exposta, então ele continuará recebendo o tratamento de kernel personalizado até que eu tenha a chance de trocar por um Intel i210 (que, apesar de ser de 1Gbit, agora é um pouco mais caro do que o Intel i225 de 2,5Gbit no AliExpress).Minha configuração:
I5-12500
Asrock B660M Steel Legend
64 GB DDR4-3200 Corsair LPX
Unidades 2xNVME (1 SK Hynix Gold P31, 1 TeamGroup)
Adaptador ASM1064 PCI-Express 3x1 para 4 SATA
Placa de rede Realtek 2.5G
Ventiladores de 3x120 mm.
Proxmox 8 com kernel Linux 6.5.11. Regulador Powersave ativado.
Tentei reduzir tudo ao básico e removi todo o armazenamento e outros dispositivos. Desativei o áudio onboard, o nic realtek e o controlador SATA ASM1062. Ao inicializar a partir de um pendrive USB e executar o Powertop, ele estava ~50% C2 e ~50% C3. Nunca acima. Confirmei que todos os dispositivos eram compatíveis com ASPM usando LSPCI e habilitei todas as configurações relacionadas à energia ASPM que pude encontrar na bios. Também procurei por configurações de overclocking sorrateiras, mas não encontrei nenhuma ativada. Nessa configuração, o consumo de energia foi de aproximadamente 20W. Adicionar o controlador SATA ASM1064 e as unidades NVME não fez uma diferença significativa. Executei powertop --auto-tune todas as vezes sem nenhum efeito significativo.
Em seguida, adicionei uma Super GPU Nvidia 1660, que passei para uma VM Linux leve. Em seguida, executo os drivers da nvidia com o modo de persistência e o nvidia-smi informa que está usando cerca de 1 Watts. Isso economiza cerca de 10 a 20 W.
Adicionando cerca de 8 HDDs (combinação de unidades Western Digital Reds e Seagate Exo), a máquina fica ociosa em cerca de 100W e passa 80% do tempo em C2.
Em seguida, inicio minha VM principal e passo pelos controladores SATA. O uso de energia aumenta em 30W para 130W e permanece lá. O Powertop no host mostra que o pacote nunca entra em nenhum estado c. Não tenho nenhum drive spindown configurado.
Não tenho certeza se estou perguntando algo, apenas compartilhando minha experiência. Mesmo que não tenha feito uma grande diferença, certamente aprendi algumas coisas.
Estou pensando em migrar da VM para um contêiner Linux LXC no host. Estou me perguntando se a VM está afetando de alguma forma o gerenciamento de energia. Mais uma vez, obrigado pelo artigo muito detalhado e interessante!
Corsair SFX SF450 Platinum
ASRock Z690-ITX
Corsair DDR4 2*16GB 3200 MHz
2 Samsung NVMe 980 Pro 1TB on board miniPCIe (ZFS Mirror)
1 Samsung EVO 870 2TB on board SATA (ext4)
I5-12400 em estágio H0
Realtek 2.5G desativado
1 ventilador Noctua na CPU (92 mm)
Proxmox 8.1 (1 Docker LXC em execução com plex)
Sem tela conectada, sem teclado, sem mouse
BIOS carregado com o parâmetro padrão da ASRock + Áudio/Wifi desativado, ASPM ativado em todos os lugares
Consumo ocioso na parede = 18W
O Powertop diz: | Pkg C2 28%, C3 64% | CPU Core C7 97%
De qualquer forma, habilitei tudo na página ASPM da minha placa-mãe (Asus Pro WS W680-ACE IPMI), a única coisa que notei que é redefinida para Auto todas as vezes é o Native Aspm (quando habilitado, ele deve adicionar suporte ao OS ASPM), mas toda vez que entro no BIOS, vejo que está definido como Auto. Você tem alguma pista?
Quando executo esse comando, este é o status real dos dispositivos:
Quanto ao BIOS, minha suposição é que "Native ASPM" Auto/Enabled provavelmente resultará na mesma coisa. Você poderia tentar definir "Native ASPM" como Disabled para tentar forçar as configurações do BIOS no sistema operacional e, em seguida, ver se o "lspci" relata uma melhoria em qualquer uma das 8 entradas que atualmente dizem "ASPM Disabled" - no entanto, você provavelmente deve se certificar de ter backups externos para o caso de o kernel ter desativado intencionalmente o ASPM no seu sistema por motivos relacionados à perda de dados. Não tenho certeza do que a sua ponte ASPEED AST1150 executa, mas, como o ASPM parece estar desativado nela, não me surpreenderia se qualquer dispositivo posterior a ela também estivesse desativado.
Ao solucionar problemas, pode ser útil alterar uma configuração do BIOS de cada vez entre a reinicialização/teste. Se você não conseguir que o PowerTOP lhe diga nada (nem mesmo por meio de algo como um Ubuntu Live DVD), sua próxima melhor aposta provavelmente será usar um dispositivo Kill A Watt para medir o impacto de suas alterações.
O que você acha da placa: ASRock PG Riptide Intel Z690 So. 1700 Dual Channel DDR4 ATX Retail
Como eu teria 8 portas SATA, não precisaria de outra placa PCIe (até segunda ordem). Além disso, o i5 12400F com os HDDs e SSDs existentes
No computador do meu escritório com a placa-mãe MSI, não tenho nenhum dos modos C-State, de economia de energia ou outras configurações mencionadas aqui. Isso se deve à MSI ou à própria placa? É uma B450M PRO-VDH MAX (MS-7A38).
Obrigado por qualquer ajuda e por qualquer comentário.
O que você acha da placa: ASRock PG Riptide Intel Z690 So. 1700 Dual Channel DDR4 ATX Retail
Como eu teria 8 portas SATA, não precisaria de outra placa PCIe (até segunda ordem). Além disso, o i5 12400F com os HDDs e SSDs existentes
No computador do meu escritório com a placa-mãe MSI, não tenho nenhum dos modos C-State, de economia de energia ou outras configurações mencionadas aqui. Isso se deve à MSI ou à própria placa? É uma B450M PRO-VDH MAX (MS-7A38).
Obrigado por qualquer ajuda e grato pelos comentários :)
Não tenho certeza sobre a placa-mãe B450M que você mencionou, embora seja uma placa-mãe AMD e eu tenha apenas algumas placas B550, portanto não tenho muita experiência com elas. Talvez haja uma opção básica chamada "Global C-State Control" (Controle global do estado C), embora talvez seja necessário procurar em todos os itens do menu para encontrá-la. Dependendo da CPU, se você estiver usando Linux, os kernels mais recentes da linha 6.x suportam diferentes drivers de dimensionamento amd_pstate, o que pode ter um benefício geral positivo em termos de energia.
Agora, um colega comprou um mini PC e instalou o Unraid. Ele possui um adaptador m.2 para SATA e, portanto, tem 6 portas SATA. Provavelmente, ele também estaria disponível com 2x m.2, de modo que 2 placas Ryzer pudessem ser instaladas.
https://www.amazon.de/gp/product/B0BCVCWWF3/ https://www.amazon.de/gp/product/B0BWYXLNFT/
O consumo sem nenhuma configuração com 2 docks e 2x VM é de aproximadamente 9W no modo inativo. 5 HDDs estão conectados.
A ideia é que há uma CPU móvel por trás dele e você pode encontrar algo parecido. Você tem alguma experiência? Os resultados parecem bons e o desempenho deve ser suficiente.
- O Mini PC tem sua própria fonte de alimentação e os HDDs são alimentados por uma segunda PSU Pico com 160W. Ele tem um gabinete NAS vazio, mas só as duas ventoinhas consomem mais 11 W, então ele vai dar outra olhada nisso.
Minha ideia era abrir o Mini PC e instalar tudo, inclusive o HDD, no meu gabinete ATX. 1 ou 2 ventoinhas Nactua, consideravelmente reduzidas e, em seguida, usar a fonte de alimentação com uma fonte de alimentação ATX existente, além da PSU Pico para o Mini PC.
Hardware:
* CPU Alder Lake N6005
* Samsung 980 1TB
* 32 GB SO-DIMM
* Rede de 1 Gb/s
Software
* Proxmox 8
* LXC Home-Assistant
* LXC Plex (transcodificação de hardware I915)
* LXC dokuwiki
* LXC fileserve (smbd, navegador de arquivos, vsftpd)
* LXC Syncthing
* LXC mosquitto
* LXC heimdall
* LXC gotify
* LXC rtsptoweb
* LXC esphome
etc.
FUNCIONANDO 24 HORAS POR DIA, 7 DIAS POR SEMANA
Consumo medido na parede (na maior parte do tempo ocioso): 7 watts
=== Também tenho um "pseudo NAS" de construção caseira baseado no AsRock Z690 ===
* CPU I5-12400
* 2 NVMe 1TB
* 8 discos rígidos ZFS Raidz2
* Proxmox 8
* Rede de 2,5 Gb/s para meu PC de mesa
Consumo medido na parede (na maior parte do tempo ocioso): 70 watts
EXECUTANDO SOB DEMANDA
=== Switch 8 portas ===
Consumo: 8 watts
=== Meu experimento atual ===
Para uso doméstico, não preciso executar meu "pseudo NAS" 24 horas por dia, 7 dias por semana, mas somente quando solicitado
Instalei o debian wakeonlan no NUC11, então
Quando necessário (seja por programação ou por solicitação do usuário), posso executar
* wakeonlan [MAC-ADDRESS-Z690] para despertar o NAS
* systemctl suspend [PSEUDO-NAS-Z7690] para colocar o NAS no modo de suspensão
Tudo isso funciona muito bem
Estou trabalhando em uma interface gráfica no Home-Assistant que também monitorará o consumo
Esse é o melhor compromisso que encontrei: NAS, baixo consumo, automação residencial)
Potência ociosa: ~5,3 watts
Hardware:
* ASUS PRIME H610I-PLUS D4
* Intel Core i3-12100
* Crucial RAM 32GB DDR4 2666 MHz CL19 CT32G4DFD8266
* SSD SAMSUNG 980 PRO 2TB NVMe
* PicoPSU-150-XT
* Noctua NH-L9i-17xx, Resfriador de CPU de baixo perfil
* Noctua NF-A8 PWM, ventilador de gabinete
Software:
* BIOS 3010
* Ubuntu 22.04.3 Server (executado a partir de um pen drive USB)
Configurações do BIOS:
* EZ System Tuning definido como: "Power Saving" (isso define automaticamente todas as configurações necessárias do BIOS)
* PL1/PL2 definido para 35/69 watts. (por causa do gabinete apertado e do pico-psu de baixa potência)
Configurações de software (definidas a partir da tela do console de TV conectado)
* powertop --auto-tune
* setterm -blank 1
Medido na parede com um kill-a-watt. A leitura fica principalmente entre 5,1 e 5,5 watts. A medição da potência é feita assim que a tela do console se apaga. O estado C do pacote é coletado por meio do ssh. O processador passa a maior parte do tempo no estado C do pacote C10 (~90%).
Algumas vantagens dessa configuração:
* Potência ociosa muito boa
* Configuração simples do BIOS.
* Slot PCIe 4.0 x16 para possíveis upgrades/expansão (no entanto, o uso desse slot parece que pode atrapalhar a baixa potência ociosa)
Algumas desvantagens dessa configuração:
* 1GbE vs. 2,5GbE
* A picoPSU tem um conector de alimentação de 4 pinos, a placa quer um conector de alimentação de 8 pinos (pesquisas na Internet indicam que isso é adequado para situações de baixa potência)
* Slot M.2 único. Modo PCIe 3.0 x4
Eu queria 2,5 GbE. Quando eu atingir a massa crítica na casa para 2,5 GbE, provavelmente vou brincar com uma placa de 2,5 GbE no slot PCIe 4.0 x16.
Outras informações:
* A configuração mágica "Power Saving" do BIOS não ativou o "Native ASPM". Entretanto, ativá-la não fez diferença.
* Desativar o módulo WIFI/Bluetooth no BIOS não fez diferença.
SO: Unraid em USB
PSU: RM850x (2021), pois é muito eficiente com cargas baixas.
Discos: adicionei 2x12TB WD Red Plus NAS Drives junto com o NVMe
RAM: 1x32GB 3400MHz DDR4 (recuperado do PC atual)
Ventiladores: ventilador da CPU padrão da Intel + ventiladores do gabinete Fractal Node 304 em baixa velocidade.
Minha potência ociosa medida pelo no-break é de aproximadamente 21 W, com ISOs do Linux sendo propagadas em um HDD e o outro drive em modo de espera. Eles estão claramente adicionando muita potência à construção. Configurei a unidade de paridade para girar somente ao sincronizar o cache nvme com a unidade de dados uma vez por dia (pelo menos é assim que planejo que funcione...), e a CPU é bastante rápida para assistir a filmes com licença Creative Commons. De qualquer forma, 21 W é bom para minha primeira seedbox :D
Esta planilha de eficiência da PSU deve ser útil para as pessoas aqui! Os dados foram retirados do cybernetics:
https://docs.google.com/spreadsheets/d/1TnPx1h-nUKgq3MFzwl-OOIsuX_JSIurIq3JkFZVMUas
Consegui fazer com que o asmedia 1166 funcionasse no slot pcie x16 e usasse o slot m2 conectado à CPU e chegasse ao c8.
Tive que modificar a bios da Asus para ter acesso às configurações da porta raiz. Desativei o Multi-VC na porta raiz 1 e agora posso usar o slot x16 e estou chegando ao estado de pacote c8 da CPU. Também chego ao c8 quando uso o slot m2 conectado à CPU ao mesmo tempo.
Etapas simplificadas:
Remoção do BIOS da placa-mãe
Dump do BIOS com um programador ch341 3.3v
BIOS modificado com o UEFI-Editor de código aberto e configurações de porta raiz "não ocultas".
BIOS com flash
e ressoldagem de volta.
Minha placa-mãe é uma ASUS PRIME B760M-A D4, mas deve ser a mesma coisa na Prime H770-Plus D4.
Tenho que agradecer ao suporte da Intel por sugerir a desativação do Multi-VC, pois eu mesmo não teria descoberto isso.
CPU: i5-14500
MB: Asus Z790-P D4 (comprei essa como devolução de um cliente pelo mesmo preço da H770-P D4 e, como você disse, ela tem um PCIe 4.0 x4 extra)
RAM: 4x 8Gb (sem XMP) => será substituída por 2x 32Gb
NVMe: Sabrent Rocket 1TB PCIe 3.0
PSU: Seasonic Focus GX-550
Isso foi testado no TrueNas Scale 23.10.2 e no Ubuntu Server 23.10. Em ambos os casos, peguei o driver da Realtek
Algumas observações:
Sim, tenho certeza. Quando conectei meu dongle Logitech MX Keys usb2.0 na placa-mãe, o consumo de energia no shelly passou de 10,5 para 15-16W. Se bem me lembro, ele estava interferindo nos estados C da CPU (ou seja, não estava mais entrando em C6, C8).
Só testei com dispositivos USB2.0 nas portas conectadas à placa-mãe (na E/S traseira). Os dispositivos USB2.0 nem sequer foram reconhecidos em portas não USB2.0.
Minha teoria é o BIOS e/ou os drivers do controlador USB. Como não estou usando nenhum tipo de USB em operação normal, não investiguei mais. Agora estou de volta ao TrueNas e ele está preso ao powertop 2.14, que não é compatível com a minha CPU, de modo que o relatório de estado C está quebrado.
Para fins de informação, estou executando o BIOS versão 1611 e o Intel ME 16.1.30.2307v4.
Quanto aos outros testes:
Seu artigo e seus comentários são um verdadeiro tesouro. Obrigado a todos que contribuíram muito. Gostaria de compartilhar brevemente minha experiência:
ASUS Prime H770-Plus D4 + i5-12400 H0 + 2x16GB Kingston DDR4-3200 Kingston Fury Beast + Samsung 970 Evo Plus
Sem teclado e HDMI
Powertop 2.14 (--auto-tune)
Ubuntu Server 23.04 Kernel 6.2.0-20 (novo, sem atualizações):
6-7 watts (principalmente C10)
Observação: Se o HDMI estiver conectado (+2-3 watts) e o receptor Logitech MX Bluetooth +4-5 watts = 7-8 watts para operação sem cabeça)
Atualização adicional de 2xSamsung EVO 970: 7-8 watts
Upgrade adicional de 4xSeagate X20 9-10 watts (modo de suspensão)
Atualize 2x14mm fan 12-13 watts (nível mais baixo)
Um pouco menos de 13 watts com 2xNVME e 4x3,5" não é um valor ruim (C10 a 90%).
Após uma atualização do kernel para 6.2.0-39, o C10 não é mais possível, o sistema só vai até o C3 e consome 21 watts.
Obviamente, isso está associado à Realtek. A configuração manual de
setpci -s 00:1c.2 0x50.B=0x42
setpci -s 04:00.0 0x80.B=0x42
felizmente leva de volta ao status C10 e, portanto, a 12-13 watts novamente
Comportamento semelhante com o Ubuntu Server 23.10 Kernel 6.5.x 16-18 watts (principalmente C3) ...
Experimentei o Unraid (6.1.74) como um teste. O sistema não é tão econômico, trava em 16 watts, mesmo depois de configurar manualmente os estados ASPM via setpci (veja acima) ... O Ubuntu tem alguns watts a menos, você terá que fazer uma pesquisa.
De qualquer forma, construir e pesquisar foi muito divertido, o antigo Synology consome muitas vezes mais do que o novo sistema.
Mais uma vez, obrigado, Matt e todos os outros.
Testei-a com o Arc a380 e nenhuma das receitas da Internet funcionou, ela consome 20w em modo inativo :facepalm: Por favor, recomende uma placa-mãe mATX para 13500. Seria perfeito se a mb também suportasse a bifurcação pcie (x8x4x4)
Resumindo, estou tendo um problema com o primeiro slot PCI que reduz os estados C para 2 com uma GPU instalada. Caso contrário, com 2 NVMEs Lexar de 1 TB e 64 GB de memória, estou observando um consumo de energia tão baixo quanto 4,5-6W com o 12600k, o que é surpreendente.
Estou querendo construir um NAS i3-12100 baseado em ITX com o chip asm. No entanto, pelo que entendi, o uso do slot pci x16 forçará o sistema a permanecer em C2.
Mas será que a execução de 8 HDDs, 2 SSDs e um nvme (chipset) fará com que o alcance de altos estados de C seja um pouco irrelevante?
Presumo que seus testes de potência mostrem apenas o asm em um slot não conectado à CPU. Parece que eu economizaria cerca de 20W ao atingir estados de C mais altos com minha CPU? A capacidade ociosa dos discos rígidos e, portanto, a economia de energia não está relacionada aos estados C?
A economia de energia do drive e a economia de C-State são, em sua maioria, desconectadas: Digo principalmente porque determinadas unidades NVMe, determinadas SSDs e até mesmo determinadas configurações SATA parecem inibir as C-States. Mas a economia de energia de ter um HDD fisicamente girado para baixo (em comparação com o girado para cima) deve ser completamente independente de qualquer outra coisa que esteja acontecendo no sistema em termos de energia, incluindo as C-States.
Estou um pouco preocupado com o fato de que, mesmo se eu forçar a ativação do ASPM, isso poderá causar alguns problemas estranhos de estabilidade. Acho que as placas de 1GbE ainda são a única opção segura para ter certeza de que o gerenciamento de energia funcionará corretamente com o Linux.
Muito obrigado, Michael
Asus Prime H770 Plus D4, I3-12100, 2x32GB Corsair Vengeance LPX 2666MHz RAM, não faça barulho! Pure Power 12 M (550 W), unidade WD blue SN570 512GB NVME, Supermicro AOC-SG-I2 Dual Port GbE, cooler para CPU Pure rock slim 2
Depois de forçar o ASPM no driver Realtek, que parecia causar problemas mesmo quando estava desativado, posso conectar o WD blue no slot NVME Gen 4x4 e o Supermicro no slot PCI-E Gen4x4, sem que o pacote de hardware fique em C3. Com o Proxmox 8.2, obtenho cerca de 60% de tempo em C8 para o pacote HW, 98% em C10 para a CPU e 96% em C7 para o Core(HW), resultando em um consumo de energia de cerca de 8-9W, medido na parede. Tudo isso depois de aplicar todas as configurações padrão de economia de energia do BIOS e executar powertop --auto-tune, além de definir L1 ASPM no Realtek via linha de comando.
Tudo o que vejo são picos curtos, em que o consumo sobe para 15W, apenas para cair de volta para 8W, durante a execução do powertop. Portanto, tenho 2 slots adicionais para unidades MVME ou locais onde posso adicionar placas adaptadoras NVME -> 6x SATA (com chipset ASM1166).
Também posso confirmar que, depois de configurar o ASPM na Realtek NIC, as outras placas não causam mais C3 no pacote. Se alguém quiser uma opção mais barata do que a Supermicro, a "placa NIC dupla 10Gtek com chipset Intel 82576" também funciona bem.
O motivo pelo qual encontrei seu artigo em primeiro lugar é que tenho experimentado o ASPM em um sistema de desktop e descobri que ele economizou apenas míseros 2 watts de energia. Seu artigo indica que algo não está certo com minhas descobertas e talvez eu precise pesquisar mais, infelizmente quase ninguém divulga números de economia de energia para coisas específicas. Seu artigo me sugere que o maior ganho com o ASPM é que ele permite que a CPU entre em um estado de economia de energia profunda, portanto, suspeito que é aí que estão meus problemas. Também estou interessado porque, como você, estou usando peças de desktop para executar uma plataforma de armazenamento que gostaria que consumisse o mínimo de energia possível.
Também é interessante o fato de você ter drives com baixo consumo de energia em modo inativo.
Trouxe dois drives seagate ironwolf, dos quais me arrependo, pois o consumo de energia ocioso desses drives é de incríveis 8 watts (quando estão girando), embora, quando em espera, eles consumam menos de 1 watts. Em seguida, trouxe algumas unidades WD helium de 12 TB que consomem menos de 4 W em modo inativo quando estão girando. Potência semelhante à da seagate quando em modo de espera.
Outros problemas com os dois drives da seagate são (a) se qualquer comando for enviado ao drive, por exemplo, consulta SMART, eles girarão, o que é um comportamento muito estranho que nunca vi em um drive antes, até mesmo a consulta do estado de repouso com as ferramentas da seachest os faz girar, os drives da WD conectados à mesma placa controladora ASmedia não apresentam esse comportamento. Além disso, o modo de rotação de RPM mais lento, que eu acho que é o estado idle_c, não funciona em minhas duas unidades da Seagate. O TrueNAS, o software que estou usando, envia uma consulta SMART a cada 5 minutos para o recurso de monitoramento de temperatura, que é difícil de desativar e é apenas uma ativação/desativação global. Portanto, se os discos da Seagate estiverem desligados, eles serão ativados. Acabei corrigindo manualmente o código para que pudesse colocar os dois discos da Seagate na lista negra do monitoramento de temperatura e também para que as verificações de integridade SMART fossem ignoradas se os discos estivessem em espera.
Com isso em mente, meu consumo de energia é horrível em comparação com o seu: o sistema funciona sem cabeçote, com 4 fusos, 3 SSDs SATA e 1 SSD NVME, e no modo inativo consome cerca de 48W e cerca de 34W com todos os fusos girando para baixo. Há 3 ventiladores no sistema,
Também tenho observações interessantes com relação ao NVME.
Em meus sistemas, descobri que as unidades NVME são consistentemente muito mais quentes do que os SSDs SATA, e também costumam ser mais quentes do que os fusos ativos. Em um NUC, tive que recorrer ao resfriamento ativo, pois o NVME estava no limite de aceleração de 70C, mesmo quando ocioso. Como você, descobri que essas coisas são um pouco diferentes quando se trata de estados de energia.
Descobri, por exemplo, que no Windows, o ASPM parece não ter absolutamente nenhum impacto em nenhuma das 3 unidades NVME do sistema. L1 e L0s não têm impacto sobre as temperaturas. Tenho um Samsung 980 Pro, um WD SN850X e um PCI express Intel DC P4600 que tem seu próprio dissipador de calor robusto.
Essencialmente, o DC P4600 está sempre abaixo de 30C e não é afetado pelo modo ASPM.
O WD SN850X é executado em uma faixa de 40 graus, dependendo do ambiente, e não é afetado pelo ASPM.
Também testei um WD SN570 e ele se comporta da mesma forma que o SN850X, não sendo afetado pelo ASPM e ficando em marcha lenta em torno de 45C.
Por fim, o 980 Pro também não é afetado pelo ASPM, no entanto, posso acionar estados de energia mais baixos com essa unidade, que fica em marcha lenta muito alta a cerca de 54-60C.
Portanto, o Windows tem configurações de energia ocultas que permitem que você brinque diretamente com os estados de energia NVME. O Samsung 980 Pro cairá cerca de 7-8C se estiver no primeiro estado de economia de energia NVME, o que, embora apreciado, ainda é a minha unidade NVME mais quente e muito mais quente do que meus SSDs SATA, que funcionam na casa dos 20C. É interessante notar que o segundo estado de economia de energia reduz apenas mais 1-2C.
As unidades NVME da WD parecem não suportar consistentemente um estado de economia de energia mais profundo, de acordo com várias análises e relatórios na rede. Felizmente, minhas unidades WD não esquentam tanto quanto minhas unidades Samsung.
Também possuo um 970 EVO que costumava ficar ocioso a cerca de 65 °C. Consegui reduzi-lo para menos de 40 °C colocando-o dentro de um adaptador PCIe NVME com um grande dissipador de calor, portanto, minha experiência com os drives Samsung não é muito boa em termos de temperatura. Decidi que não sou fã dos drives NVME, pois eles esquentam e têm uma potência ociosa muito alta em comparação com os SSDs SATA, mas você parece ter conseguido usá-los.
Quanto à CPU/placa-mãe, a Intel de 12ª geração realmente começa a perder sua vantagem se não puder passar muito tempo nos estados C6-C10 (e, infelizmente, não há como saber se você alcançará esses estados até que tente). Mas, de modo geral, para um sistema que será moderadamente carregado 24 horas por dia, 7 dias por semana, eu pessoalmente começaria a preferir a AMD neste momento.
Gostaria de saber se, por acaso, você considerou a versão CSM do ASUS Prime H770-Plus D4. Pelo que entendi, o CSM em combinação com o i5, como o 12500 ou 13500, deve permitir os recursos vPro Enterprise, que, por sua vez, devem trazer recursos de gerenciamento remoto do tipo DASH, KVM/IPMI. O DASH não é, de longe, tão poderoso quanto uma solução completa de BMC ASPEED AST2600, que normalmente consome de 5 a 10W adicionais.
Ao mesmo tempo, o CSM também tem o objetivo de proporcionar estabilidade semelhante à de uma empresa, o que pode significar menos opções de BIOS para ajustar os estados C e assim por diante.
Dando uma rápida olhada na página do produto agora, a única diferença que vejo entre ela e o modelo sem CSM é o acesso ao ASUS Control Center Express. A página de especificações técnicas da variante CSM é idêntica, exceto pelo acréscimo de "1 x cartão de chave de ativação do ACC Express". O manual é idêntico, sem mencionar nenhum recurso distinto. Fiz o download de ambos os BIOS (1663) e as somas de verificação eram idênticas, embora eu suponha que os recursos possam ser invertidos por meio de sinalizadores.
Eu não ficaria surpreso se os recursos/funcionalidade/BIOS fossem exatamente os mesmos, com exceção da funcionalidade fornecida pelo software ACC Express. Mas não há como saber com certeza, exceto se alguém tentar.
O sistema pode atingir c10 sem o 9600. Ele ainda não está preparado, por isso não o inseri.
O que realmente é ruim na placa é a velocidade mínima do ventilador de 20%. E não sei por que, mas meu consumo mínimo é de 11,5W, mas com o X710-DA2. Vou trocar o cooler da CPU por um passivo. Talvez eu ganhe mais um watt.
Apenas uma informação para outros interessados no X710-DA2: não há WoL, pelo menos para mim. A correção dessa coisa é um câncer PURO - faça isso no EFI. Essa coisa fica QUENTE no modo ativo. Você precisa resfriá-lo ativamente ou trocar o dissipador. Eu optei pela última opção. Vire a placa com um kit PCI para que fique na horizontal. Coloquei um https://www.reichelt.de/kuehlkoerper-75-mm-alu-1-3-k-w-sk-89-75-kl-ssr-p227795.html?search=Sk+89+7 e agora também tenho uma dremel. Você precisa fazer com que a placa fique em pé na mobo com espaçadores de distância. Dica: shell efi somente com um efi feito por você mesmo. Esqueça a mobo que está abrindo a efi.
Por acaso, para a mesma CPU ou para o i3-12ª geração, você conhece alguma boa placa m-ATX ou itx para potência como a mencionada acima?
- ASUS PRIME H610I-PLUS D4 (ITX, DDR4, mas a ethernet Realtek 1G pode ser uma grande aposta)
- ASUS PRIME H610M-A D4-CSM (mATX, DDR4, 1G Intel)
- ASUS PRIME Z790M-PLUS (mATX, DDR5, 1G Intel)
Não é nenhuma surpresa o fato de eu gostar muito da Ethernet Intel 1G nos 2 últimos.Para deixar claro, não experimentei nenhum deles: minha suposição é que o BIOS etc. provavelmente seria semelhante ao do H770-PLUS D4 e que eu poderia espelhar o resultado. Mas não tenho certeza. O Z790M-PLUS vem com 4xPCIe e 3xNVMe - supondo que a DDR5 não seja um problema, provavelmente é o que eu escolheria. No entanto, suspeito que o pequeno dissipador de calor do chipset pode precisar de algum fluxo de ar.
Poderia haver muitas outras opções adequadas, inclusive fora da série PRIME e fora da ASUS. Historicamente, a Gigabyte sempre foi a minha escolha. Mas não deu certo para mim nesta geração.
Na verdade, também estou procurando placas-mãe mATX para um servidor doméstico realmente eficiente. Só tenho a ressalva extra de construí-lo em um gabinete com resfriamento passivo (HDPlex H3).
Isso dificulta um pouco a escolha da minha placa-mãe, pois, ao que parece, tenho que escolher entre duas placas-mãe:
Asus Prime Z790M Plus
+ Ethernet Intel 1G
- resfriamento VRM meio pequeno e frágil
Asus TUF B760M Plus II
+ mais barata em meu país por um bom preço
+ dissipador de calor mais volumoso
- Ethernet 2,5G Realtek
No momento, estou inclinado a escolher o TUF, pois é mais fácil adicionar outra Ethernet do que um dissipador de calor VRM mais forte, mas gostaria de saber sua opinião sobre o quanto o controlador de Ethernet Realtek 2.5G é um obstáculo.
Desde já, obrigado!
Com isso em mente, dependendo da CPU que você planeja usar, o resfriamento do VRM pode não ser importante. A H770-PLUS que usei não tem nem mesmo um resfriador de VRM na parte superior dos VRMs. Embora eu tenha adicionado alguns dissipadores de calor pequenos à minha, eles não eram realmente necessários, pois os VRMs não esquentavam muito para começar.
A minha maior preocupação com o resfriamento passivo seria o dissipador de calor do chipset, pois ele pode ficar extremamente quente quando o chipset está enviando muitos dados. O TUF GAMING B760M Plus II parece ter o mesmo dissipador que o Prime Z790M Plus (apenas em preto e girado). Provavelmente, não há muito que você possa fazer aqui, a não ser retirar o dissipador de calor e fazer algumas modificações para evitar a garantia.
Deixando tudo isso de lado, se você estiver disposto a passar pelos obstáculos necessários para obter bons estados C, o Realtek 2.5G não é necessariamente um obstáculo. No entanto, eu me certificaria de comprar de um varejista com uma política de devolução fácil, para o caso de o problema ser maior do que o esperado.
Não tenho ideia se isso foi uma unidade defeituosa ou uma falha de projeto, mas não me arriscaria a comprar essa placa em uma loja que não oferece uma política de devolução de 30 dias. O suporte da ASUS foi completamente inútil, assim como a garantia em casos como esse.
CPU: i7-14700
Placa-mãe: Asus Z790-P WIFI (LAN 2,5G conectada)
RAM: 96 GB DDR5 (2x32 GB + 2x16 GB)
NVMe: Samsung 970 EVO Plus 1TB
PSU: Corsair RM750x
O consumo de energia foi medido sem um monitor.
Algumas observações:
---- importância da PSU ----
1) Comecei com uma PSU Seasonic Focus 1000w e o consumo de energia foi de 14,4w. A troca para a Corsair RM750x levou a uma redução de energia de +4w. O RM750x tem uma eficiência de energia de ~80% a 20w, o que significa que meu Focus 1000w original deve ter uma eficiência de energia ruim a 20w (10,1*0,8/14,4=56%)!!! Portanto, pessoal, considerem investir em uma PSU melhor (referência: Números do RM750x nesta planilha: https://docs.google.com/spreadsheets/d/1TnPx1h-nUKgq3MFzwl-OOIsuX_JSIurIq3JkFZVMUas/edit?gid=110239702#gid=110239702)
2) O powertop 2.14 NÃO é compatível com CPUs Intel 13/14Gen (inicialmente, ele mostrava apenas os estados C3). Tive que compilar o powertop 2.15 mais recente e isso me permitiu ver o estado C6-C10.
---- Controlador SATA onboard problemático da ASUS Z790-P ----
3) uma observação surpreendente é que, se eu conectar um SSD à interface SATA integrada, o estado c da CPU só chega até C6 (sem C8, sem C10). Entretanto, se eu conectar o mesmo SSD a uma placa ASM1166 PCIe-to-SATA, poderei chegar a C10. Isso parece sugerir que o controlador SATA integrado dessa placa-mãe NÃO suporta ASPM adequadamente (a saída "lspci -vv" do controlador SATA integrado NÃO mostra nenhum recurso ASPM).
---- Custo de adicionar uma GPU ----
4) A adição de uma GPU Nvidia GTX 1050 Ti levou a um aumento impressionante de 16 watts em modo inativo. Logo percebi que o watt ocioso da GPU da nvidia pode ser reduzido com a otimização "nvidia-smi --persistence-mode=1", com a qual os 16w se tornam 8w (modo de desempenho da GPU P8). No entanto, ainda são mais 80% dos meus 10,1 watts ociosos quando estou sem a GPU. Provavelmente não vale a pena deixar a GPU instalada. Mais pesquisas mostram que a própria GPU consome apenas cerca de 3 watts em modo inativo, mas, por causa da GPU, os estados C da CPU são mantidos em C6, daí a diferença de 8 watts (com GPU versus sem).
5) o consumo de energia aumentou em mais 6 watts quando conectei a GPU ao slot PCIe conectado ao chipset (inicialmente, ela estava no slot PCIe conectado à CPU). Sim, com toda a otimização, a GPU acrescenta 8+6=14w se você a conectar ao slot conectado ao chipset dessa placa-mãe. Notei que o estado C mudou de C6 máximo para C3 máximo, o que provavelmente é a fonte dos 6 watts adicionais.
No geral, estou satisfeito com o resultado e é uma experiência divertida. Eu realmente gostaria de adicionar uma GPU (por exemplo, para tarefas relacionadas a fotos), mas é muito caro em termos de consumo de energia. Alguém tem experiência com GPU em servidores de baixo consumo de energia? Há alguma maneira de liberar o estado c da CPU para que ela possa alcançar C8/C10? Observe que estou falando de consumo de energia em modo inativo (a GPU não é usada para saída de gráficos e não está conectada a um monitor).
Estou surpreso que os chipsets AMD tenham ficado tão para trás no uso de energia. Sinto falta dos velhos tempos em que havia várias boas opções de placas-mãe mini-ITX com as primeiras APUs da AMD e havia um esforço conjunto para que todo o pacote fosse de baixo consumo de energia.
Acabei de ver que o novo chipset AMD X870 supostamente tem um TDP de 7 W, mas as placas-mãe anunciadas até agora parecem um pouco exageradas ("A ROG Strix X870-A Gaming WIFI vem com 16+2+2 estágios de energia classificados para até 90A", diz a alktech).
Estou querendo atualizar minhas caixas pfsense e truenas com rede de 10 GbE e me deparei com esta postagem. Seguindo o conselho de escolher uma placa com um controlador ethernet intel de 1 GB, optei pela Asrock b660m pro RS e um pentium g7400 para ambas as caixas. Eu queria uma porta PCIe extra de comprimento total para ter alguma capacidade de expansão no futuro.
Vou tentar fazer os ajustes aqui: https://www.reddit.com/r/ASRock/comments/1998ozl/how_to_get_higher_pkg_cstates_on_asrock/
para ver se consigo obter um consumo de energia aceitável. Vi seu comentário sobre o uso de uma H610M da ASUS e provavelmente mudarei para ela se não tiver muita sorte com essas placas. Vou lhe enviar um relatório, pois não consigo encontrar muitas informações sobre se as pessoas conseguiram reduzir o consumo de energia da b660m.
Qualquer conselho seria muito bem-vindo!