Broken memory management on system with no swap
Lucky Green
shamrock at cypherpunks.to
Sun Apr 20 08:31:12 PDT 2003
David wrote quoting Bruce:
> > So the bug is mainly in vm making only a relatively useless
> statistic
> > available. On my systems, `Inact' is usually mainly for
> (non-dirty)
> > VMIO pages.
>
> Right. dillon was planning to separate out the dirty and
> clean pages in the inactive queue at some point. ISTR that
> his intent was along the lines of optimizing write clustering
> by making dirty pages easier to find, or something along
> those lines. But the number of inactive dirty pages is
> useful as a statistic by itself, too.
So how do I find out what is consuming those "inactive" pages? And how
do I determine if those pages can be discarded or not?
> > The system has little difficulty discarding these, so
> > I haven't had problems with processes being killed despite
> not using
> > (much | any) swap since memories became cheap enough a few
> years ago.
>
> I generally configure swap and use it only once in a blue
> moon. Since there's no truly graceful way to handle an
> out-of-swap condition, I'm usually glad that it's there once
> in a while. But Lucky's concern is that confidential data
> should never hit the disk.
Exactly. Which is why I just replaced my old 128MB RAM/256MB swap server
with a new 1GB RAM server. I still fail to understand why a setup that
never was anywhere near running out of memory in the previous
configuration would run out of memory with more RAM than it had RAM and
swap combined. If I can't do in 1GB what I could do in 128 + 256 MB,
then somewhere there is a bug. How do I find out where?
It is correct that I don't want confidential data to hit the disk. I
could use GBDE to encrypt the swap partition, but being one of the more
active beta testers of GBDE, I am not convinced that GBDE is
sufficiently well-tested at this time that I would want to rely on it
for swap. Nor should I have to use GBDE to encrypt swap. That's why I
bought a server with a GB of RAM. What am I missing?
BTW, I since ran additional tests. Even with no GBDE device attached,
the inactive memory eventually accounts for most of the memory shown by
top:
Mem: 30M Active, 788M Inact, 148M Wired, 34M Cache, 112M Buf, 1660K Free
Swap: 2048M Total, 2048M Free (I did enable swap until somebody tells me
how to determine what is causing the problem).
Thanks,
--Lucky
More information about the freebsd-current
mailing list