Published Date: 2022/08/20 by: DaVieS
We have been busy since expanding our services worldwide meanwhile in other hand helping reduce CO emission in industrial-scale levels.
We backing up into our core projects to improve its efficiency and using more low-level APIs such as kqueue, epoll and _ASM calls. These changes are seems a little until we flush it to hundreds of servers.
The current (high) energy prices are a good alarm to help and protect environment by doing some easy tasks.
We already started mass energy saving years before without a reason and the current situation is absolutely not risking our services, we operating at full power with a minimal electricity costs.
How to save power on servers?
The common sense is turn off the lights and turn off devices. - Well done.
There is no option to turn off servers. So what now?
1) Upgrade the war machine
Newer architectures are consuming less energy or have better energy/performance ratio.
There are many better CPUs in the used market (I bet) which is fit into the motherboard, at voilà.
2) Do you really need 512GB of RAM?
Unused RAM modules installed on server is luxury now.
3) Power Saver
Enable Intel SpeedStep or similar, you wont notice anything but that allows the OS to manage power settings.
These are commonly disabled on server OS, because the thing is server should be fast, but this is not equal with we should keep it 100% even its Idling.
FreeBSD has a nice utility to done, POWERD(8). --------->
We are using the config below without performance loss.
powerd_enable="YES"
powerd_flags="-a hiadaptive"
4) Tune and Fine Tune
Most Operating Systems comes with default config. Unfortunately 90% of servers are running on default settings, and 99.9% of servers are still have potential for fine-tune.
mySQL, amavisd, amavisd-new, spamassasin, etc... should be tuned!
These are the most resource and energy hungry processes on servers and basically running on default settings.
5) System Tunables
sysctl is a power utility to adjust realtime buffers.
More buffers means less CPU cycles that means less energy used, but too much buffers increasing page moves which could be worse.
Since every OS and Server roles are different there is no common recommendations, experiment is a key.
POWERD(8) FreeBSD System Manager's Manual POWERD(8)
NAME
powerd – system power control utility
SYNOPSIS
powerd [-a mode] [-b mode] [-i percent] [-M freq] [-m freq] [-N]
[-n mode] [-P pidfile] [-p ival] [-r percent] [-s source] [-v]
DESCRIPTION
The powerd utility monitors the system state and sets various power
control options accordingly. It offers power-saving modes that can be
individually selected for operation on AC power or batteries.
maximum Choose the highest performance values. May be abbreviated as
max.
minimum Choose the lowest performance values to get the most power
savings. May be abbreviated as min.
adaptive Attempt to strike a balance by degrading performance when the
system appears idle and increasing it when the system is
busy. It offers a good balance between a small performance
loss for greatly increased power savings. May be abbreviated
as adp.
hiadaptive Like adaptive mode, but tuned for systems where performance
and interactivity are more important than power consumption.
It increases frequency faster, reduces frequency less
aggressively, and will maintain full frequency for longer.
May be abbreviated as hadp.
The default mode is adaptive for battery power and hiadaptive for the
rest.
powerd recognizes these runtime options:
-a mode Selects the mode to use while on AC power.
-b mode Selects the mode to use while on battery power.
-i percent Specifies the CPU load percent level when adaptive mode
should begin to degrade performance to save power. The
default is 50% or lower.
-M freq Specifies the maximum frequency to throttle up to.
-m freq Specifies the minimum frequency to throttle down to.
-N Treat "nice" time as idle for the purpose of load
calculation; i.e., do not increase the CPU frequency if the
CPU is only busy with "nice" processes.
-n mode Selects the mode to use normally when the AC line state is
unknown.
-P pidfile Specifies an alternative file in which the process ID should
be stored.
-p ival Specifies a different polling interval (in milliseconds) for
AC line state and system idle levels. The default is 250 ms.
If you like the article then don't forget to share!
|
||
Is Rust better than C/C++ ?
Rust is relatively new programming language which offers full memory management and garbage collection, while C/C++ already has a decent history..
Network Update
Proudly announcing that in the past days we expanded our infrastructure and our services will become more stable and quickier at us west, us..
Windows 10/11 Disable Search and annoyings on start menu
The one of the most irritative feature on windows is a "new" start menu which sends every input into Microsoft related services. Also if you have..
BVCP 2.0.x Released
Our one of the most popular FREE-TO-USE Software BVCP reached the next milestone.Big thanks to the active community, a ton of feedbacks received..
Welcome 2024
We have been busy at 2023. Im personally very happy to see a lot of new technologies especially EV related researches.We continued to support our..
FreeBSD 14 fresh install breaks mc (Midnight Commander) subshell support
We are very happy to announce that - if you did not know already - one of the best Operating System released a new version. FreeBSD 14. This..
ZFS Replication Software
While we are working on BVCP 2.0 just another software made to handle ZFS Replications over multiple nodes. The software yet not released..
Bhyve UEFI drops into EFI shell, Linux wont boot Easy Workaround
EFI works that way that the installer places a file into a FAT32 partition in a regular directory as called "BOOT". The usual full path of..
Nexus Datalogger 2023
We're proudly present that we released out our next version of datalogger software as commerical product. Our first version of Datalogger..