I've had some strange experiences with Solaris 11, where if I didn't
have enough swap, I'd get OOM issues with Oracle databases (SGA) on
startup and other various things.
While Oracle docs say it's OK to have a small swap area if you have
plenty of RAM, I've experienced the exact opposite. If the ZFS arc is
large (and it always is), and something needs memory, if there isn't
enough swap to "guarantee" the allocation, the allocation will fail.
(Disregarding the fact that the ZFS arc can be tuned, and now Solaris
11.3 has an even better setting, user_reserve_hint_pct). It won't wait
to flush out ZFS arc to make room, it'll just fail outright.
With a huge swap area that's at least half the size of RAM (in boxes
that range from 96GB to 256GB), even though it'll never touch the swap,
it works just fine.
Now, I understand your issue is with BSD, but if it's ZFS, perhaps
there's something not-so-different about the two environments.
$.02
On 12/4/2017 11:36 AM, arnold(a)skeeve.com wrote:
Larry McVoy <lm(a)mcvoy.com> wrote:
So I have 10 processes, they all run until the
system starts to
thrash, then they are all in wait mode for memory but there isn't
any (and there is no swap configured).
Um, pardon me for asking the obvious
question, but why not just configure
a few gigs of swap to give the OS some breathing room?
Most modern systems let you use a regular old file in the filesystem
for swap space, instead of having to repartition your disk and using a
dedicated partition. I'd be suprised if your *BSD box didn't let you do
that too. It's a little slower, but a gazillion times more convenient.
Just a thought,
Arnold