This is a reader contributed article.
These days almost all server / laptop / desktop system has a gigabit Ethernet card (NIC) pre installed. Most servers are directly connected to internet using 100Mbps connections. You can save real power on your Linux server or desktop by operating at 100Mbps Ethernet speed. For example 1 gigabit link is going to consume more power than the power used at 100Mbps speed. Also note that not all systems actually use gigabit speed. For example my desktop system only used for browsing or chatting purpose or Linux web server used to display just static web pages. Now just calculate power consumption for 100 servers or 1000 desktop systems. Bottom line use Gigabit Ethernet speeds only when needed. Did you know – you can save 2 watts or more per Linux/UNIX/Windows server/desktop by just setting a correct speed 🙂
See current Ethernet card speed
Use ethtool comment to display current speed:
ethtool eth0 | grep -i speed
Set new speed and save power
Following command will set card speed to 100Mbps:
ethtool -s eth0 autoneg off speed 100
=> For more information see ethtool command and network interface speed, duplex . auto negotiate settings on Linux
About the author: Rocky Jr., is an engineer with VSNL – a leading ISP / global telecom company in India and a good friend of nixCraft.
🐧 10 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
this post is quite old, so probably people have moved on from it.
anyway i thought i would chuck my Twocents on the power issue.
If the ethernet connections all operate at the same voltage level, then the slower speeds will save power per byte transmitted. however usually the higher connection speeds are achieved at lower voltages, so the power used to transmit and recieve is lower. moslty it’s not lower than the slower speed per bit but not as bad as it could be.
if a connection carried a signal at 10Mbit/sec it would use say 1unit of power. Now in order to achieve the same volume of data transmission at 1Gbit/sec, the time would be 100x smaller. however the amount of power required would be 100 times greater. this is probably reduced to 30 times the power by adjusting the voltage for transmission and improving the cable quality, but still this means that any power supply will have to produce that much more power to keep all the hardware in the computer alive.
if you have the time to wait for data, it pays for you to do just that.
Rather than switching off autonegotation, which can cause problems with mismatched settings, it is better just to limit what your network card announces it is capable of. The other end will autonegotiate up to the fast speed / duplex combination that your end announces. So if you only announce 10 Mbps / Half Duplex, that’s all the other end will use e.g.
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes
#
# ethtool -s eth0 advertise 0x001
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes
#
how about slower speeds yet like 10 Mbs
how about slower speeds yet, will they save more power
No no no babbit.
All grass is green.
All cows eat grass.
Therefore, all cows eat *green* grass.
You’re neither a farmer or an analyst are you?
All grass is green.
All cows eat grass.
Therefore, all cows are green.
I have no opinion on the power saving, but a new GigE switch that we got didn’t want to play nice with a bunch of our GigE-capable boxes. I was trying to figure out how to tell the NICs to run at 100Mbps, and this article showed me how. Much appreciated.
Efficiency is not just a measure of total wattage. It is a measure of performance per watt, be it in CPU cycles or data rates. If I save 1 watt by lowering my link speed to 100Mbps, it now takes me nearly an order of magnitude longer (not exactly an order of magnitude, due to protocol ineffeciencies, but close anyway) to copy the same amount of data of over the same data link that would normally be transmitting at 1Gbps, how is that a savings? It’s actually costing me more time and therefore more wattage over time to copy the same amount of data. If anything, people should go out and install 1Gbps or even 10Gbps on all of their equipment to save as much as they can!
I sincerely appreciate that people are trying to save energy, but energy savings at the cost of output is a false savings. It’s not about being lazy or impatient, its about making the most of your investments, both in grid power and man power.
This is exactly the type of thinking we have too much of on this world, simple minded.
0.5W times every 1000Mbit computer out there is A LOT of WATTS saved every day. Get of your lazy ass TODAY, save some power and allow you children to enjoy a better world 500 years from now … it’s about the big picture…..
Where did you get the 2 Watt per system savings figure? I tested several of my servers, mostly Supermicro MB’s or IBM’s (using the Kill-A-Watt realtime power monitor) and saw almost no change (>0.5 watt) when switching between 1000 and 100 ethernet speeds.
So if I had 1000’s of servers it might be worth the effort to make the change – it’s certainly not worth it for 47 servers.