phk malloc, was (Re: ptmalloc2)
Matthew Dillon
dillon at apollo.backplane.com
Tue Feb 22 21:51:07 PST 2005
:Correction: I just found out that the Linux kernel does support what I am
:looking for, and it's done through a sysctl! See
:
:Documentation/vm/overcommit-accounting in the Linux source tree.
:
:Thanks all. I will run dnscache and MessageWall on Linux only for
:the reliability's sake. *BSD is fine for disk-writing email servers. I am
:not using any other 'preallocating' services that I am aware of.
:
:Peace!
Well, you are welcome to run software on whatever platform you feel
fits it best, but no magic sysctl is going to make your systems more
dependable if the software running on them is trying to use more
resources then are available. Unless you are actually running yourself
out of swap space (which is kinda hard to do on a modern machine with a
120G hard drive), that sysctl is going to have no effect other then to
make the machine fall over earlier rather then later. It will certainly
not make the box any more dependable, I can guarentee you that.
Virtually no software in this day and age is written to deal with every
possible memory failure. Software is usually written to assume that
at least a 'reasonable' amount of memory is going to be available.
so, e.g. a program which copies its command line arugments will
generally assume that it can do so without having to check for an
out of memory condition. These sorts of tiny, limited allocations
make up most of the allocations most pieces of software make. Unless
you intend to go through millions of lines of code and add tens of
thousands of more lines to check every single memory allocation made,
let alone run regression tests to make sure that your cleanup code
actually works (in short, unless you are writing software that is
going to run in a satellite or space probe or the space shuttle),
having an overcommit knob isn't going to help you.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Kernel
mailing list