|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: Ben Goren (ben
trumpetpower.com)Date: Mon Jul 01 2002 - 22:11:29 CDT
On Mon, Jul 01, 2002 at 06:52:07PM -0700, bsd user wrote:
> Hi all --
>
> What options are available for conserving power consumption for
> a internet server that's up & running 24/7, but which is
> probably idle 90% - 99% of the time (waiting for SMTP emails,
> dns requests, user interaction, etc.)?
The one thing missing from your note is the answer to the obvious
question: ``Why?'' There's lots of good reasons why you'd want to
do this, but just how aggressive to get and what path to take
depends on the what you want to accomplish.
If you haven't yet bought the hardware, the absolute best thing
you can do is pick hardware with low power requirements. Efficient
hardware will do more than anything you could do with such a
server.
Also consider buying an old computer. Many less (computationally-)
powerful computers are also less (energetically-) powerful.
If you do have hardware, keep it. Whatever power savings you might
get by buying something new would be dwarfed by the energy used in
the manufacturing process (think mining of precious metals) and
would be a terrible waste to a landfill.
(If this is for an embedded environment--say, a solar-powered
remote station, the preceeding paragraph may be irrelevant.)
If your BIOS supports it, underclock the CPU (and, if you're
daring, various busses) to the slowest tolerable setting. With
sufficiently aggressive underclocking, you may well eliminate the
need for the CPU fan and maybe a case fan or two. The underclocked
CPU will, itself, consume less energy.
Many hard drives have different features to control noise
production, power consumption, and the like. For IBM drives,
you can download a floppy boot disk (i386) to perform
configurations. See the documentation or contact the vendor for
details.
Most modern hard drives can be put into various low-power standby
(etc.) modes. You can use atactl (8) to put them into such a
mode. Note, however, that Unix assumes that disks are always
available. It's not unusual to spin down a drive only to have it
spin up again a few seconds later. The spin up/down cycle consumes
a *lot* more energy than just letting it spin.
Put as much RAM in the computer as is physically possible. At the
bottom end, RAM is approaching $0.10 / Mbyte. A lot of people have
had bad luck with the cheap stuff, but you can probably get 2
Gbytes of quality RAM for $500 (remember when you couldn't
even dream of a 2 Gbyte hard drive, let alone get one for
$500?). Depending on the nature of the data you're sending and
recieving, you may well be able to put everything onto a memory
filesystem, and spin down the hard drive as soon as everything
gets loaded into RAM.
If you're debating between two comparable programs--MTAs, for
example--give additional weight to the one with the smaller memory
footprint. If a small, simple program will do the job, it'll leave
more RAM free for other things and put off hard disk access that
much longer.
Remove any periphials you can live without. This probably means
floppy drive, CD-ROM, sound card, etc.
Here's a *big* one: get rid of the monitor. The video card, too,
if your computer will boot without it. If you need a monitor, get
the smallest one possible. LCD screens have an edge. Turn it off
(don't just rely on DPMS) except for when you're standing in front
of it.
Everything that you can do in the way of performance tuning will
reduce the load on the commputer which will, in turn, mean less
work for the CPU and other components and--hey presto!--less
energy consumed. Search the archives for anything lengthy written
by Henning Brauer for starters. Also read:
http://www.trumpetpower.com/OpenBSD/Meta-FAQ#general_performance
Your ideas of hacking the kernel to introduce wait states and the
like fall into one of two categories: it's already done, or have
fun but expect to be on your own for the most part. See:
http://www.trumpetpower.com/OpenBSD/Meta-FAQ#custom
for details.
And, finally, consider if it really needs to be on 24/7. If it's a
company server, you're probably safe shutting it down late evening
and restarting it (many BIOSes have wake-at-time-of-day features)
early in the morning. Mail servers will queue mail for retry if
they can't connect right away. Your other DNS server for the zone
is on a different network segment, no? Shut down one one night and
the other the next. If it's an intranet Web server, nobody'll be
reading Web pages on it at three in the morning. If need be, you
could always do wake-on-lan or wake-on-ring to remotely boot it in
the middle of the night.
Good luck, and do be sure to let us know what finally works for
you!
Cheers,
b&
-- Ben Goren mailto:bentrumpetpower.com http://www.trumpetpower.com/ icbm:33o25'37"N_111o57'32"W
[demime 0.98d removed an attachment of type application/pgp-signature]
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]