Overheating issues, reliability issues mostly. Was willing to put up with it until microsoft got started with their "qualified devices" crap and now we have to pay for windows CALs for the things even if i run linux on them.
Since that box is running 24/7 and the cost of electricity in Germany is one of the highest in Europe, I was eager to keep it down.
Yes, it's running Debian Stretch at the moment (soon to be upgraded to Buster).
The things I "tuned" are listed below. Note that some are specific to my use-case and this box. I tried different configurations and measured the power consumption after booting (idle).
use SATA power management (ALPM)
For this to work properly, you need to use Kernel 4.19 from Backports (or Debian Buster with default kernel). The main reason is the support for this new SATA power management mode med_power_with_dipm
. You could use the existing min_power
mode as well, but I read that there were problems with certain hardware setups that could lead to data corruption. med_power_with_dipm
is enabled by default (if supported) so no config required.
You can check the current mode by running
cat /sys/class/scsi_host/host*/link_power_management_policy
remove the on-board Wifi module
I don't need it, so I removed it from its slot. -> no power wasted here
use only one RAM module
Each RAM module uses power, so I decided to use only one slot. 4GB were enough for my use-case, and yes, you only get single channel mode, but that is still more than enough.
disable the second Ethernet port
This box has two ports, one Intel I219-LM and one Intel I211. While the I211 has more features, it is internally connected as a separate PCIe device and can be completely disabled (powered down) in the BIOS.
The integrated I219-LM can be disabled as well, but it seems it is not powered down completely. So I used this one for my network connection.
disable unneeded devices in BIOS
I disabled at least the on-board sound chip and the parallel port.
There is a passive case for the Pi 4, looks like a nice middle road
I have been looking at the Pimoroni heatsink cases as well, but I feel like I need something protecting myself more from accidentally burning on that case if I fall and hit it.
Hence looking at a fan instead. I guess itās a personal decision, passive cooling would be preferred, but physical safety even more. If I could combine those it would be perfect
Hi, I was totally disillusioned with Synology, especially the cost of their units, so I looked at the mini PC options. I settled for an Intel NUC 6CAYH, this is one of the cheaper units but with the additional 8Gb of fast ram and 120 Gb EVO SSD it still cost less than Ā£150.00. It runs Unbuntu 18.04.2, Hass.IO along with Node-RED, Grafana, Influx and a load of other stuff all in Docker with absolutely no problems, updating software is a breeze. It is so quiet I forget it is there. Highly recommended. There is of course no reason why a larger capacity SSD cannot be fitted or an external USB 3.0 drive.
Hi Bob @bobcroft,
Do you mean you can purchase all that kit for Ā£150 or just the Intel box ??
Hi Dave, when I purchased mine earlier this year all the kit was approximately Ā£150.00. I recall the NUC was about Ā£100.00. I searched the net to get the best prices on the individual items. The only thing one has to be careful with is the memory modules, it is important to use the ones Intel specify. I bought the 'Crucial' brand off Amazon.
They don't get hot enough to burn you. Even with no heatsink, it's less discomfort to touch the heat spreader on a pi4 running at 100% CPU than to dip your finger in a fresh cup of coffee. (Just tested it here at my desk to get that data.)
Thanks Jay, guess I've made up my mind now
Ah, field trials always have an element of danger
If you are not married to the Pi4 and really don't want a fan the $99 Jetson Nano is fanless and its heatsink doesn't get hot enough to come anywhere dear burning me when running my AI workload. Performance is significantly better than the Pi4 too.
This is an interesting blog post from Pimoroni, who sell both heatsink cases & fans.
Although I have always thought that a heatsink solution would be the better option, I'm feeling a little more positive to the idea of using a fan which is controlled in software.
Pimoroni has also developed python scripts to control the shim.
Comments...
Hi, I'm installing Node-RED v1.0 on a shiney new Pi 4 - 4Gb model, and the installation docs say I should use
node-red-pi --max-old-space-size=256
Due to the limited memory of the Raspberry Pi, but as I have 4GB instead of 1GB on the older models, would running a different command be better here?
Use the script in the docs https://nodered.org/docs/getting-started/raspberrypi
@zenofmud Hi yes the
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
command has finished doing it's thing and it has set up SystemD service for node-red also.
It seems to have set Environment="NODE_OPTIONS=--max_old_space_size=256"
by default, so I guess this is OK for my 4GB model? Or is there any benefit to changing the 256 number as I have more than 1GB RAM?
Feel free to increase it.
Thanks, I've set it to 512Mb for now which is believe is the default that NodeJS uses, I'll see how it goes.
I just wanted to check before tinkering.
I've had a Pi4-4GB running in place of a 3B for a few months nonstop. It fits inside a case and plugs into a PCB I made, so there isn't enough room for a heatsink. I have had to leave the cover off to keep the temp down, and I will add a very small fan soon. The extra RAM made a huge difference in my kiosk type application since I am running Chromium, node-red, etc on it. Huge. Power consumption isn't much more and I've turned off everything I can.
I thought the nodejs default was 2gb which is why we limited it in the first place (being more than any pi had at the time)
I got the 512Mb number from here:
By default the memory limit in Node.js is 512 mb, to solve this issue you need to increasing the memory limit use command
I didn't notice yesterday, but the post if from 2016, and related to an old Node version (v6 maybe?), so I'd assume the Default mem limit is now 2GB