Na veel test werk tot volgende metingen gekomen.
De hardware lijst:
# | Category | Product | Prijs | Subtotaal |
1 | Processors | Intel Core i3-9100 Boxed | € 114,20 | € 114,20 |
1 | Moederborden | Fujitsu D3644-B | € 150,50 | € 150,50 |
1 | Videokaarten | Gainward GeForce GTX 1650 Pegasus (DVI) | € 149,- | € 149,- |
2 | Interne harde schijven | HGST Ultrastar He10 (SATA 6Gbps, 512e ISE), 8TB | € 287,95 | € 575,90 |
2 | Interne harde schijven | Seagate IronWolf IronWolf, 8TB | € 259,- | € 518,- |
1 | Computer accessoires | Leicke ULL Power Supply 120 W | € 31,99 | € 31,99 |
1 | Processorkoeling | Noctua NH-L9i Bruin | € 36,95 | € 36,95 |
1 | Geheugen intern | Samsung M378A4G43MB1-CTD | € 140,- | € 140,- |
1 | Voedingen | Mini-box picoPSU-150-XT | € 51,50 | € 51,50 |
1 | Solid state drives | Intel 660p 1TB | € 126,61 | € 126,61 |
Bekijk collectie
Importeer producten | Totaal | € 1.894,65 |
- CPU fan staat aan (uit scheelt 0.5W)
- GPU is benodigd voortranscoding (Tdarr)
- Unraid na kort testen achterwege gelaten (bleek niet zuinig genoeg)
- OS boot vanaf USB3-stick en draait daarna in geheugen (folder2ram)
- Disks in spindown
Er is zeer weinig bekend over het fine-tunen van een GPU op gebied van stroombesparing. Het was dan ook een behoorlijk uitzoekwerk en testen met verschillende kaarten. Uiteindelijk heb ik getest met een P400, GTX1650 en GTX1660 Super. De GTX1660 Super heeft een aparte voeding nodig, deze is dan ook niet onder de 12W (voor enkel de GPU) te krijgen en heb ik snel achter me gelaten. Metingen van alleen een GPU kan bij Nvidia met hun eigen tool. Deze zijn ook beschikbaar op Linux (nvidia-smi). Dit tooltje kan ook verschillende instellingen aanpassen wat ten goede komt voor het stroomverbruik.
Na elke boot moet ik een commando uitvoeren welke de kaart in persistence mode zet. Volgens de documentatie onthoud de kaart de instelling, maar dit bleek helaas niet het geval. Persistence mode zou een "legacy" instelling zijn die het OS laat beslissen wanneer de kaart iets moet doen in plaats van dat de kaart zelf uitzoekt hoe/wat. In praktijk zorgt persistence mode er voor dat de kaart ~3W verbruikt in plaats van ~8W volgens de metingen van het tooltje. Het commando moet overigens vóór dat ik powertop uitvoer uitgevoerd worden. Powertop doet dus ook iets met de instelling.
Het maximaliseren van de TDP op een GPU kaart is ook mogelijk. Dit getal moet minimaal op 45W staan en maximaal op 75W. 75W is overigens het maximale wat een PCI-E X16 slot kan leveren. Fabrikanten zijn hier dus aan gelimiteerd tenzij ze een externe stroom toevoer hebben. De TDP van de GTX1660 Super kon ik maximaal op 125W zetten terwijl sommige kaarten wel oplopen tot 250W. Doel is natuurlijk om deze zo laag mogelijk te houden, op 45W.
Ook ben ik er achter gekomen dat het gebruiken van de X1 slot een stroombesparing oplevert. Dat bracht weer een ander probleem op wat er mogelijk voor zorgde dat mogelijk de bandbreedte niet genoeg was. Een extremere kaart met 2 (of meer) NVENC encoder/decoder chips zal dan ook niet volstaan in een X1 slot. Die kaarten zijn echter wel $$$, maar ik kan natuurlijk niet in ieders portemonnee kijken.
Het upgraden van de kernel leverde uiteraard ook een winst op. Het installeren van de GPU drivers ook. Ik heb gebruik gemaakt van de globaal beschikbare powertop v2.8 op debian buster. Ik heb daarvan geen upgrade gedaan.
Eerlijk gezegd had ik idle zonder GPU meer verwacht van het bordje. Ik kan wellicht niet goed hebben gelezen, maar ik dacht metingen van onder de 5W te hebben gezien bij mensen. Ik zou nog kunnen kijken of het uitmaakt dat het OS op de SSD staat in plaats van boot vanaf USB.
Gebruikte commando's:
code:
1
2
3
| nvidia-smi -i 0 -pm ENABLED
powertop --calibrate
powertop --auto-tune |
Optioneel voor max TDP instelling:
Metingen:
OS: Debian 10.4 (full OS met OMV repo)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| 7.18W = 4.19 kernel (default debian 10.4)
7.06W = 5.5.0 kernel
5.90W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram
22.68W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram + GTX 1650 + default nouveau driver
22.34W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram + P400 + default nouveau driver
20.52W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram + GTX 1650 + nvidia 440.82 driver
18.73W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram + P400 + nvidia 440.82 driver
16.57W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram + GTX 1650 + nvidia 440.82 driver + nvidia-smi persistance mode ON + PCI-E x16 slot
14.86W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram + GTX 1650 + nvidia 440.82 driver + nvidia-smi persistance mode ON + PCI-E x1 slot
14.36W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram + P400 + nvidia 440.82 driver + nvidia-smi persistance mode ON + PCI-E x16 slot
13.46W = 5.5.0 kernel + OMV 5.4.7-1 + folder2ram + P400 + nvidia 440.82 driver + nvidia-smi persistance mode ON + PCI-E x1 slot |
8.96W werkelijk verbruik van Nvidia GTX 1650 in x1 slot
7.56W werkelijk verbruik van Nvidia Quadro P400 in x1 slot
- 1.4W verschil in verbruik van kaarten in x1 slot
- PCIe 3.0 x1 max throughput = 8 Gbps (~985 MB/s)
- NVENC (transcoding) max throughput = 5.88 Gbps(~735 MB/s)
Nvidia GTX 1650 nvidia-smi dmon commando:
code:
1
2
3
| # gpu pwr gtemp mtemp sm mem enc dec mclk pclk
# Idx W C C % % % % MHz MHz
0 3 25 - 0 0 0 0 405 300 |
Nvidia Quadro P400 nvidia-smi dmon commando:
code:
1
2
3
| # gpu pwr gtemp mtemp sm mem enc dec mclk pclk
# Idx W C C % % % % MHz MHz
0 - 24 - 0 0 0 0 405 139 |
De P400 is dus iets zuiniger. Dit komt vermoedelijk door de lagere minimale PCLK clock van 139 MHz. Ik hoop nog te kunnen vinden of dit bij de GTX 1650 ook naar beneden kan met "onder clocken" of "onder volten". De P400 heeft geen chip aan boord om te meten wat het stroomverbruik van de kaart zelf is.