Saving Energy: Home Server That Automatically Suspends to RAM and Wakes Up Again
maximiliangolla.com
maximiliangolla.com
More details: https://en.wikipedia.org/wiki/Bonjour_Sleep_Proxy
It just listened to the fixed routes, woke the server and proxied the page when finished (sometimes took 2 loads)
But basically is the same as in the arzicle except I didn‘t need to manually WOL anything and my server just went to sleep by itself
Another approach (if it is supported by the adaptor) is to configure WoL so that it does not need a magic packet. Some adaptors can be configured to wake on any "directed packet".
I have a linux server sitting downstairs that I might play around with. It would be nice if the sleep support featured a timer and integration with the system cron daemon. Then it could wake on a directed packet or when there is a scheduled task.
Also, fun tip: You can easily check if a Mac on the network is sleeping or not based on its ping response TTL. While awake it uses a TTL of 64 but while sleeping it uses a TTL of 32. You can use this little signal to roughly keep a log of when the Macs on your network are awake vs sleeping. (Not too much of an actual privacy concern I think)
Because 1) you still need a second machine to wait for incoming requests, 2) in a server there's no general way to check if the server is serving requests or not. Plex happened to provide an API that specifically does what you needed, but you had to resort to a bit of a hack for Time Machine. This is unlike a desktop context, where you can check if the user has moved the mouse or pressed a key in the last N minutes. And 3) because the delay of waiting for the server to wake back up is undesirable.
>Seriously, there is soooo much potential to save energy in IT.
I don't think so. For VPS instances it doesn't matter, and for internal servers it's almost certainly more efficient to virtualize a bunch of services onto a single box, if there's multiple servers idle most of the time.
Maybe he has different ideas, and that's perfectly fine, but personally I value reliability and uptime far more than 2 cents.
EDIT: I failed at math. See below comments. :V
EDIT: btw, this solves "if Time Machine starts a backup" completely.
I have a Plex box that turns on after work.
3360 is the number of hours in 140 days.
Still, my point remains unchanged: I, at least, value reliability and uptime more than ~43 euro cents.
Perhaps you underestimate gravity.
Actually, at 150 / year you can rent a VPS (or two!) as well, always-on etc, which... kinda shows how skewed consumer price for electricity is.
In Europe at least, most industrial users were paying more for electricity than residential users over the winter (gas shortage). Governments subsidized residential users more than most businesses.
There’s a lot of work with ARM lately, I’m curious if that could be used in server workloads like this.
Possibly, but few cloud providers actually do live migration[0] since it's risky to pause a VM for typically less than 1 second, but up to 5 seconds.
0: https://cloud.google.com/compute/docs/instances/live-migrati...
VPS providers are already overprovisioned anyway, so they have less idle hardware to begin with.
For the record I like the concept and hope it becomes a lot cheaper over time.
To demonstrate Ceph RBD network block storage back in the day, I ran VNC sessions to two libvirt hosts and live migrated a full VM with a desktop and a bouncing ball animation in a window between the two hosts & VNC sessions. The only thing a human could perceive was that the desktop image in one VNC window goes black, and the animation continues in the other.
Synology DS413 and DS213+ does this automatically. What second machine?
I really think we need to start making Android servers a thing, at least for self hosting, maybe for everything.
Judging by how WearOS seems to be able to run on 35mA or less, I think there's a good case for just making an open fork of Android with similar optimizations, and putting it on literally everything resembling a smart device. I wouldn't be surprised if some kind of Android for Devices comes out someday, assuming Fuschia doesn't ruin the party.
The big issue is the home server community being overly focused on creating "battle stations" that look cool and run 40 different Docker containers rather than simple low-power solutions.
Android does what Docker does while remaining very low power, because it gives you one standard API level, rather than some minimal syscalls and you have to bring all your own libraries right in the container.
Currently automatic updates are an issue and remote management needs work.
What else am I missing?
Play store needs to be split into provider and interface APIs, so you can add your own repos and still have it work with existing tools.
Remote management needs to be a thing for sure, installing apps is the hard part of that. WearOS does it amazingly, just connected to BT and the host play store does it, but you'd need the split app store to make that work well with open source third party repos.
Automatic updates would be solved by that, just deploy your app on a repo, and update via the play store or your interface app of choice.
Finally you'd have to solve the biggest problem with ANY self hosting as far as I'm concerned, how to handle certs and domains with zero manual IT work(Has to be truly zero, no chance it needs maintenance while you're on vacation).
I've been saying this for a while, we need pubkey-based domains like .onion URLs, but without the onion routing, so there's no dependence on a CA or anything that might be hard to do in a fully automated "Scan the QR and connect" context.
Or, more likely, Google gives you a service.yoursubdomain.google when you buy Google One, and routes stuff ngrok style for you, with lots of spying, because P2P hasn't been their thing so far. Perhaps one of the forks could do it though.
Without eliminating domains and certs, I'll continue mostly ignoring self hosting, I don't want any chance it goes wrong while I'm too busy to fix it, since there's no dedicated support staff, just me.
It would also solve the other half of remote admin, apps could just declare a web interface for admin that you access if you have the secret URL.
Then you'd need some systemd alternative to manage processes. You'd have to be able to say "Start this on boot, restart it on failure, and never clear it out of RAM".
On the hardware side, phones are already close to perfect. Keep the screen and NFC and Bluetooth, for QR based connections and the like, keep the battery as a UPS, but add more USB ports, Thread/Matter, and ditch or downgrade the cameras.
The filesystem probably needs to support snapshots, and Android should get a Full Backup and Restore Provider API to make it easier to back up everything, just the home folder, just one app, just the settings, just the data, etc, to your chosen provider, maybe even with hooks for apps to respond to import and export, so that the state of your app is totally portable and needs only a few clicks to restore from auto backup.
Finally, we need a cpanel-like VPS management tool to migrate your stuff to cloud hosted if you want, that can take backup files, and show you what's on the remote device's virtual screen(Again, so QR stuff works) or at least what's being displayed via some "Admin screen API" if you don't want to drag the full graphics API into it(But keeping graphics all the time seems like a good plan for standardization, and for kiosk type stuff).
And then finally, you'd probably want a some of the features from a normal-ish Linux userland, or as close as you could get, to make porting existing stuff easier, but even without that, I'd say the porting would be worth it.
Need a phone that works with the battery removed or a fake battery
It'd be nice if things had logic to control their own charging -- start charging only when the battery drops below 40%, stop charging when you hit 90%. The hardware can do that already.
(And then you can expect something like normal phone battery lifetime, which is still limited.)
[citation needed]
Based on my understanding, the underlying OS has way more to do with power usage than the instruction set, and AFAIK Android has tons of optimizations specifically geared towards reducing battery consumption (and therefore power usage) on mobile devices.
With that said, it's true that, in practice, the power floor seems to be lower for ARM devices than, say, x86, but I'd wager that this has far more to do with target market than with ARM's instruction set. Low power x86 boards do (did?) exist.
I understand now that they have been rebranded as Pentiums, and the envelope is more 10-20 watts.
A modern battery powered device will have a 'sleep mode' where the current consumption is measured in microamps; and an operating mode where the current consumption is many times higher. Battery life relies on two things: Firstly, the sleep and operating modes being as efficient as possible (the CPU design) and second of all getting into the sleep mode for as much time as possible (the OS design).
If only one app can be on screen at a time, and the OS is free to stop anything that isn't on screen if it wants to - that gives the OS a lot of power to achieve long periods of sleep.
(It's actually more complicated than that, with multiple sleep levels, high- and low-power CPU cores, and on smartphones there are issues like powering the screen and radios, and things like hardware decoding of video - but for a server, who needs a screen?)
It means you have to enable SSH with some file in a directory, then SSH in, make sure you have a strong password, turn SSH off when you're done, maybe copy and paste or SCP a key somewhere.
With a screen you don't depend on the state of anything else to do admin. Your more savvy relatives can install things for you without them needing the special paired remote admin app.
And of course, you can do "Scan to get started" QR setup.
Plus, in a real consumer self hosting scenario, it would make sense for the server to also be the smart display if you want one, to avoid needing more devices, and keeping the screen would mean developers don't have to explicitly code from both screenful and screenless setups, sometimes things that shouldn't depend on the screen do unnecessarily.
On Linux stuff works differently if you run as a service vs under the DE, because you're missing some environment variable that points to dbus or whatever, and you need extra work to get around it.
My point is that this part doesn't really have much to do with the instruction set, though. Theoretically, there's no reason you couldn't design an x86 CPU that is just as efficient as an ARM one (or at least, within spitting distance); it's just not done because the economics wouldn't make sense.
I'v always thought it is how iOS manages threads vs in a way Android cannot. But all that info is from more than decade ago, so things may have changed. Can anyone chime in to explain?
To this day iOS feels snappier, perhaps lower latency input/output or something. Am saying as someone who uses and prefers Android and currently using Samsung Galaxy S10 phone (flagship phone line)
Regular Linux could be tweaked, but I think it would be way easier to start on Android and add all the missing stuff you want for a server, than to start on Linux.
Regular Linux still uses a bit more power, and they don't have any kind of container+sandbox that works quite as well, on account of the very tiny userland API that requires containerized things to bring all their own libraries, making them like 800MB a lot of the time, can't really run more than a few apps in 16GB of cheap slow flash like that.
I severely doubt it.
I think the power usage difference between Android and plain Linux on the same hardware is mainly due to the way Android aggressively puts the CPU into sleep states and uses timers (etc) to wake it up as needed.
Since we're talking about an Android phone for self hosting, if the phone is glued/the battery is soldered, after rooting it, the Advanced Charging Controller App* may be an option.
Link, in case you care: https://github.com/mrmekon/circadian
I have a "NAS", which is really an enormous desktop tower crammed full of hard drives. It auto-wakes once per day, pulls backups from my various servers all over the place, then returns to sleep.
I own both a passively cooled 2016 Mini PC OLOEY Intel Core i7-7500U (as a home media center) and a 2023 Minisforum UM690 (for work and it's amazing btw), and they both use about 7 watts when idling (screen off).
How op is using 43 watts for an idling media center is just beyond me, he must be using a 1978 Intel 8086, right?
Anyhow, 4 watts is still far better than 7 watts and this is a great achievement, but those 43 watts are really sketchy imho.
I guess CPUs have gotten better in the last 10 years ;)
and I use it like this also for 10 years now. It works great. Only consumes ~4W in deep sleep/system hibernation (the wording depends on from which year you find text mentioning the above nas. Synology decided to reword the function back in some year), and automatically wakes up whenever it is needed. (also not this is not only HDD sleep, it is full system sleep)
Op should just run more services on his server, but that probably won't be 43W at idle, when the box would actually be doing something ...
Some of the hard drives do not advertise their sleep capabilities over SATA, and hdparm ignores these drives unless you force for sleep.
Interestingly, one of my wireless routers with a USB port had a bug, and allowed a disk to sleep and cause it to wake afterwards. This made the disk overflow its SMART start/stop counter (so it's >65536, possibly double that number), yet the disk is still working at full performance to this day, and shows no performance degradation either. It's a Seagate notebook hard drive converted to an external drive (Seagate Expansion Portable, or something like that).
Think 2/3 out of them died in a year, we preemptively replaced the rest.
My parents' PC has a 1.5TB Green for backups for almost a decade now, and that drive is fine, too.
Looks like it's mostly a horses for courses matter.
I have not yet found any LGA 1700 motherboard were the total idle power would be less than 25W, for example. I find that the power supply inefficiency by itself, even on standby , is usually already 2W -- larger than some of the alternatives discussed here. I have to go to Intel's soldered solutions to find <10W idle consumption (and even <2W). Forget about last decade's desktop AMDs either, they have very high idle power, with the exception of some APUs that may go down to 10W. They may also have custom solutions that idle at significantly less, though.
[0] https://www.hardwareluxx.de/community/threads/die-sparsamste...
[1] https://docs.google.com/spreadsheets/d/1LHvT2fRp7I6Hf18LcSzs...
I do this math myself every few months and ultimately, it seems for a large nas/server, 40-50W is about as low as you can idle.
On the other hand, if you can, please consider using a more energy efficient alternative (and/or ensure you're getting the electricity from green sources) - the planet will warm up regardless of whether the electricity was cheap or expensive.
My total household usage averages around 4.5KWh/day so adding that 45W 24/7 server would add about 24% to overall load! It would need to be an important little server to justify the increase.
Laptop CPUs are, however, really well optimised for very low consumption when idling and that's what you should be using for a mediacenter.
Also, IMHO, ASRock Deskmini would not be a good idea for a media center since it's using desktop CPUs. The idle power draw will not be as good as mini pc with a laptop CPU.
My desktop server uses 50W at idle. ASRock Z390 motherboard, Pentium G5400, 32GB RAM, no GPU. There are 15HDDs, but 50W is with all of them spun down. It hits 120W will all disks spun up and CPU under load. I've come to the conclusion it's the motherboard, because the parts individually shouldn't draw that much power.
The sleep management on macOS is really well done and you don't even need a magic packet to wake the computer. You can configure `pmset` to wake on modem access (ring).
According to specs my Pi 3 takes 5.1V and 2.5A which is 12.75Watt. An HP (Probook 650 G3) laptop takes 19.5V and 2.31A which is 45.045Watt.
I know it does not eat up all that maximum power, but i still wonder if even the best power saving options would make it less than 12,75Watt.
The battery in mine is old, but with the screen off it still lasts several hours as a sort of UPS.
This is something I've been thinking about for some time as I'm working on re-building my homelab for a more powerful system with more storage. On of the big things I'm trying to find out is if there is a good way of truly shutting off hard drives when not in use or if the hit to longevity of the drives would be too much.
My solution was to move all my online use-cases to a separate SSD and mount the HDDs only when I need them for a manual process. E.g. when I want to watch a movie I have downloaded, I'll mount the disk pool and copy it to the SSD (although my internet is fast enough that just downloading it again is usually faster than the manual process).
I wonder if you could make the 'wake up' a bit more advanced.
Run tcpdump or something similar on the Pi, with a filter set for inbound packets to the media server on ports that Plex or Time Machine uses. If it sees those packets, send the WoL magic packet.
This might not work if your switch does proper port isolation - but you could perhaps add port mirroring or something like that.
I'm a little out of my wheelhouse though. Maybe that would only work for HTTP which will not cover Time Machine?
Does Time Machine run on a schedule? Add a cron job (whatever the Mac equivalent is) to send a WoL ~1min beforehand?
I believe on x86 the BIOS supports setting a timer for self-wakeup. The OS can tell the BIOS "I'm going to sleep. Pull me out of sleep if the RTC passes this datetime."
Depending on what Pi you're using, it's networking is over USB, and so is quite performance constrained.
The traffic could be coming in via your WAN connection and your router is just going to forward it to an IP.
I guess you could just attach an external HDD to the Pi. Thats worked for me before.
[0] https://forums.unraid.net/topic/6455-how-to-wake-on-arp-unra...
I'm not sure how Plex clients would handle it, but putting an nginx server with the same certificates and just returning HTTP 429 (Too Fast) or 500's and a "Please try again in 1 minute" response, along with sending the magic packet would work great for most HTTP based things.
I have an extra Pi4 with Proxmox Backup Server, that could actually sleep most of the time as it backups only twice a day. But even with German electricity prices, a Pi4 with a single SSD is not exactly expensive. Still, maybe I’ll look into that.
The later hardware revisions (such as 1.5) of the Raspberry Pi 4B, even with 8GB of memory, can idle at ~1.33W on WiFi with everything unnecessary disabled -- 2GB versions are close to 1.1W. The 8GB version on power-hungry Ethernet (at 100Mbps) can actually be under 1.45W, compared to 1.68W for 1Gbps. PoE is nice, but the hat adds a lot of power -- though it's possible with an 8GB to squeak under 2W via PoE at 1Gbps, though only just barely (~1.98W).
-- -----
For those who go, "but I need real power"... you can have an 8-core Ryzen 7 PRO 5750GE (with GPU cores for transcoding), 64GB of memory, multi-TB NVMe SSD, and two NICs (one 1GbE and one 2.5GbE) plus WiFi and Bluetooth idle at under 9W. No, it's not 4W, but to say it can do nearly anything you can imagine is an understatement. You're at the same CPU performance of an i5-12600, with tons of memory for VMs galore, in a system that has the same idle power as a cable modem.
I believe Apple rates the newest Mac Mini with an M2 Pro, 32GB memory and 2TB SSD at just 7W idle. Again, given it's capability, that's pretty wild for 7W.
I think those usually also want real storage space, NVMe either can’t offer that, or it would make the build so expensive, electricity stops mattering. And in those cases, 4-12 24 TB HDDs will out-consume your other hardware anyway ;)
/usr/sbin/hdparm -S 120 /dev/sdb
132TB raw storage organized into 16TB and 64TB ZFS volumes, plus the 2TB ingest/cache tier. Can saturate 40Gbps up and down.
43-44W at the lowest idle state, about 55W with just the 16TB volume spinning. Though with all the memory and the cache/ingest tier, it doesn’t spin up often, and often it’s mostly spinning up just the two-disk volume. So most of the time it is completely silent — not even a fan whirr.
And that provides the bulk storage and backups (plus pushing offsite) to the PCs, a six-node Pi cluster, and those 9W virtualization servers by providing iSCSI volumes. Also lets any new device PXE boot, and if a device has no OS and no configuration, the hardware will self-install, then self-configure after the first boot. A lot of work, but very valuable experience that paid off at the day job.
A lot of VERY deliberate hardware choices to drive power consumption that low, and probably two weeks measuring power consumption of everything. Something people fail to realize that 10GbE Ethernet is rather power hungry if you’re using copper, but if you’re using fiber or (ideally) passive DACs, you can eke out lower latency, better performance, and drive power consumption into the ground. It matters when you consider you pay for that power consumption for 10GbE copper at every single RJ-45 port in the chain between the devices. You can pay < 10W for all the devices in a 40Gbps connection (four ports) with passive DAC, but with copper it’s more like 40-42W.
How is this measured? I spent _years_ doing experiments on the Raspberry Pi 4B and was never able to get it to idle to anything less than 3ish W at the wall, albeit arguably this was not with the "1.5" hardware revision.
One day I bought an ASUS PN40, which has an x86 Intel N4000 CPU.... and on the first day, just after installing openSUSE, without even customizing _anything_, I measured _1.7 W_ power consumption at the wall. This is for a full x86 server, with GbE ethernet, 8GB of RAM and a 1TiB SATA SSD.
That server is still my one and only homeserver. It has my calendar, media files, talks to my Zigbee/BluetoothLE devices, and it does so at a fraction of the power used by the Raspberry Pi that TFA uses for waking up his homeserver.
There is a ton you can do to drop Pi power consumption into the ground, which largely is turning off all the hardware on the SBC you aren’t using, followed by undervolting (same clocks, just less power to maintain them), and last by using a very lightweight configuration (look at the Diet Pi distribution) to keep CPU and network interface(s) in the lowest possible power state by just running the absolute minimum you need (and lightweight versions at that) to do the job. After that you could further consider underclocking. Disabling cores can get further tiny gains as well.
Then you could consider purely PXE-booting where you only boot from the SD card to then disable it — relying on keeping everything memory-resident — and having permanent storage be available via network storage presented via ISCSI, or block storage. You’d then only turn on the SD card as part of configuration management changes, to turn it back off after the configuration has finished — or just rebuild the image that’s available via the network then reboot the Pi to start using it. You also then can be picky about what SD card you use, by actually tracking the power consumed accessing particular models — yes, there is a measurable difference.
If I went truly “all in” I’m fairly certain I could have usable 2GB Rev. 1.5 4Bs under 1W of power consumption, with 8GB models under 1.2W, though I’ve been focusing my hobbyist time elsewhere. This isn’t even looking at the Pi Zero 2W, or the Pico, which can be dropped to absolutely absurd low levels of power consumption and do some actual useful things.
I really should do some YouTube videos at some point. I’ve a coworker that’s really starting to ramp up his sub count on his homelab shenanigans, and he says what I’m doing relative to the largest homelabbers blows his mind at times.
There's also the flip side, which is "well since I already have real power..."
I.e., like many HNers, I own a powerful coding/gaming Linux desktop with plenty of HDD space, which gets regularly backed up to cold storage. It does however use a frankly obscene 90W when idling, due to the GPU, fans, and multiple hard drives and peripherals.
Building a separate, power-efficient home server would take a year or two to break even, even compared to running the workstation 24/7. But it's more like 3-5 years when you consider that it's going to run several hours most days anyway, and that it can be safely put to sleep at night. Plus of course it's more effort to manage two servers rather than one, so everything else being equal the single desktop is preferable.
Now if I can use some of the tricks described in this thread to turn it off when I'm not using it, and only temporarily wake it up when I need to stream or upload something, then using the desktop as a home server becomes kind of a no-brainer.
Of course, if you only use a laptop, then a low-wattage home server is a totally sensible complement.
- - - - -
However, we mostly prefer to have those off when we’re not doing work that requires them (I’m mostly on an iPad), plus there’s stuff that the entire family benefits from with the lab. Considering their performance the workstations are actually very power efficient setups for their capability, but they can noticeably change the temperature of a room in an hour when they’re under load, and both of them combined add about $35-40/mo to our electric bill (we pay ~$0.50/kWh in the Boston area) just for light loads, sometimes quite a bit more.
- - - - -
I will never suggest building something new JUST to reduce power consumption of existing stuff. ROI never makes sense. But when you DO build something new, I DO suggest looking hard at power consumption. There the savings can be quite material. Plus never having to hear any of the equipment EVER (barring the workstations going flat out) is a great thing. Silence is golden. You’ll also learn a lot more about your hardware.
[0]: https://github.com/R3NE07/Futro-S740/blob/main/README.md
[1]: https://github.com/R3NE07/Futro-S740/blob/main/power_consump...
For my server, I just focused on choosing very power efficient hardware. I use a passively cooled baytrail SoM.
The OS should go to sleep, and give the network hardware enough info to respond to simple requests (ie. maybe ARP requests, mDNS, and keeping a DHCP lease alive). Anything that comes in addressed to the machine that can't be handled by the network hardware should wake the machine, leaving the packet in a buffer for the machine to handle and then go back to sleep.
Sadly the whole project folded (for mostly non-tech reasons), taking most of it's cool tech with it.
Because they are in watts, not kg of CO2.
Sure the machines will be more expensive but they are amortized over decades of production
Currently, the server is primarily used for two things: - Plex Media Streaming (remotely) - Time Machine Backups (locally)
To monitor Plex activities, we access the local Plex API and for Time Machine we simply monitor any file access at /mnt using "lsof." In case there has been no activity for 15 consecutive minutes, the server goes to sleep. (Nobody streams, pausing a video doesn't count as activity, and no backup is running.) A Web server on a Raspberry Pi hosts a website that obtains the current state of the home server provided via the Home Assistant REST API. In case the server sleeps, and I like to backup or stream something, I can wake the server using a simple button press that sends a magic packet using a wakeonlan Perl script.
Here in the US in Cali, $0.32 / kWh is considered a steep price. I've heard the price in Oregon is $̶0̶.̶0̶2̶ ̶/̶ ̶k̶W̶h̶ $0.20 / kWh.
What gives.. why can't electricity be delivered less expensively / more economically in Germany?
Edit: Thanks for the corrections regarding Oregon, makes me feel a little better about the situations elsewhere. :)
https://www.reuters.com/business/energy/moscows-decades-old-...
I'm definitely less concerned about the cost of running a machine 24/7 here than I was back in the UK.
[0] - https://app.bchydro.com/accounts-billing/rates-energy-use/el...
(It's a bit confusing to calculate the rate, as for some reason the bill has separate sections for 'generation' and 'delivery'.)
My solution is to run my servers and live life as I please (within some degree of reason), and not look at the power bill too often. In my experience, the monthly charges don't correspond with my actions attempting to reduce or increase consumption in specific categories (e.g. hottubs, servers).
With that said, I do flip off the lights when not in use :p
The jaded side of me attributes this to PG&E executives not wanting to anger the elite powers that be. Atherton service has likely never been affected by the rolling brownouts in summer. Go a mile or three away and it's a very different story.
The challenge is more that electricity supply is not consistent, which luckily is easily remedied by investing in solar/batteries. It's not yet common for consumers to feed back into the grid.
https://www.world-nuclear.org/information-library/country-pr...
As mentioned elsewhere in this thread, 100Mb/s, vs 1Gb/s vs 10Gb/s makes a lot of difference. IMO 1Gb/s is the only reasonable speed for home hosting as to saturate 10Gb/s you would need at least 20x (50Ah) lead-acid batteries of backup and that is almost industrial levels of investment/maintenance.
The final constraint is that disks and RAM uses more energy than you would think, 256GB DDR5 uses 80W! And they wear faster than you would think too at these nm! Be careful with writes!
So you need to plan your structure with the proper redundancy without going to far above the previously mentioned 1Gb/s saturation for your particular applications.
WTF?!
This person make insane claims about power all the time. They claim nothing will surpass old raspberry pis and intel atoms in efficiency, that nothing will surpass 1 gb networking due to power constraints (even though it all has existed for well over a decade) and even claim that certain video games won't be playable in the future from power constraints.
It is best not to think about it too hard.
The 256GB I mentioned was industrial server memories built to last.
Because no desktop OS besides MacOS can handle Sleep with any semblance of competency.
>Why isn't this the default
See above.
Annoying when it's a laptop that you've just unplugged and stuffed into your backpack, and you're wondering why there's now an oven on your back. Less fatal for a desktop when the goal is to save power.
For linux, sleep/suspend is also pretty reliably good in my experience.
And even before then Sleep was very hit-or-miss anyway. I've never used Sleep because it's just far too inconsistent and thus unreliable, compared to just shutting the thing down when I don't need it for a while.
https://github.com/jakehilborn/displayplacer
Later I chained the displays differently and moved the adapters around so it stopped being an issue.
The Chromebook I'm using right now handles sleep perfectly, and always has.
Similarly, Chromebox desktops exist, running effectively the same OS as laptop ChromeOS.
Most of the heat comes from the network stuff, that is the cable modem, UDM router and switch. Replacing the UDM+switch with an 8 port UDM SE might be an interesting idea but I’m not sure since the trashcan UDM also does wireless. Going by the heat the UPC cable modem seems to be responsible for most of the power draw.
On Windows you can use WakeMeOnLAN: https://www.nirsoft.net/utils/wake_on_lan.html
`WakeMeOnLAN.exe /WakeUp [name]`
I guess the cheapest way to improve power factor is a cappacitive bank more info: https://fortop.co.uk/knowledge/white-papers/reactive-power-r...
About your monitoring command: lsof -w /mnt/* | grep /mnt/ | wc -l Have you taken a look into incrontab, maybe it's more cpu efficient, but i don't know, so you could take a look into it.
Anecdotally, the costs from this website (https://ecocostsavings.com/how-many-watts-does-a-laptop-use/) seem to check out based on what I observed. Idk the model # off the top of my head, but it is a lower end hp laptop my friend sold me running debian.
The author achieved some impressive savings, but I wonder how much lower it could go with a more efficient machine.
(Obviously that costs money and the article’s technique is free)
I had some acer chromeboxes that were converted to linux, & those things idled at 5w! had em filled with 32gb ram. amazing little machines. the little i3 and celeron cpus were very weak but still held up well. had almost two years where i used one as my main desktop, literally velcroed to my monitor, but eventually decided the somewhat subpar perf (especially at 4k!) was a bit of a drag.
I fixed my post to put the 6 digit I forgot in the Intel mini specs.
You bring up a good point. Some of those little NUC boxes are really low. And a modern Raspberry Pi (if you can find one) is too.
Lots of options.
With proxmox and a few vms running on there it idles around 11-12W which isn't raspberry pi levels of efficiency but still pretty decent.
I think the OP's server may have one or more mechanical HDDs in it that are consuming most of the power.
I have a couple systems with i3-7100U CPUs, with 2 sticks of RAM and an NVMe SSD they idle at about 1-2 watts booted up into Proxmox.
HDDs suck down a lot of power relative to that, about 5W each just sitting there spun up.
Unfortunately I haven't figured out a good option for sleeping drives that are part of a ZFS pool in proxmox, there's just too much going on with constant drive activity.
https://kb.synology.com/en-au/DSM/tutorial/What_stops_my_Syn...
https://news.ycombinator.com/item?id=34821935
All you have to care about is just auto sleeping and waking for the backups.
There's a huge amount of savings in energy to be had from automatically sleeping + WOLing PCs.
[1] https://www.friendlyelec.com/index.php?route=product/product...
the tricky part is that a consumer would have to catch you at just this time. a mdns broadcast being a signal- contact me now- would work, but what apps are going to have that kind of timing built in?
it'd be interesting to see which kinds of protocols would be ok with servers that just keep disappearing. webdav might be fine. smb/cifs would probably throw a fit.
or... ideally the nic could be some kind of smartnic that could stay on & buffer some traffic, keep connections open. i wonder if cxl gear, with multi-host capabilities, might enable this sort of thing.
Where do you live? That looks very expensive to me
It was just a cronjob to turn it off at night, and it would stay off until needed.
The first request would then take over 5 seconds to turn it on again, and it would remain on.
[1] https://manpages.debian.org/buster/util-linux/rtcwake.8.en.h...