On 11 January, 2007 - Mark Maybee sent me these 4,7K bytes:

> >It would seem, from reading between the lines of previous emails,
> >particularly the ones you've (Mark M) written, that there is a rule of
> >thumb that would apply given a standard or modified ncsize tunable??
> >
> >I'm primarily interested in a calculation that would allow settings that
> >would reduce the possibility of the machine descending into "swap hell".
> >
> Ideally, there would be no need for any tunables; ZFS would always "do
> the right thing".   This is our grail.  In the meantime, I can give some
> recommendations, but there is no "rule of thumb" that is going to work
> in all circumstances.
> 
>       ncsize: As I have mentioned previously, there are overheads
>               associated with caching "vnode data" in ZFS.  While
>               the physical on-disk data for a znode is only 512bytes,
>               the related in-core cost is significantly higher.
>               Roughly, you can expect that each ZFS vnode held in
>               the DNLC will cost about 3K of kernel memory.
> 
>               So, you need to set ncsize appropriately for how much
>               memory you are willing to devote to it.  500,000 entries
>               is going to cost you 1.5GB of memory.

Due to fragmentation, 200k entries can eat over 1.5GB memory too.

http://www.acc.umu.se/~stric/tmp/dnlc-plot2.png

This is only dnlc-related buffers on a 2GB machine.. the spike at the
end caused the machine to more or less stand still.

>       zfs_arc_max: This is the maximum amount of memory you want the
>               ARC to be able to use.  Note that the ARC won't
>               necessarily use this much memory: if other applications
>               need memory, the ARC will shrink to accommodate.
>               Although, also note that the ARC *can't* shrink if all
>               of its memory is held.  For example, data in the DNLC
>               cannot be evicted from the ARC, so this data must first
>               be evicted from the DNLC before the ARC can free up
>               space (this is why it is dangerous to turn off the ARCs
>               ability to evict vnodes from the DNLC).

I've tried that.. didn't work out too great due to fragmentation.. Left
non-kernel with like 4MB to play with..

/Tomas
-- 
Tomas Ögren, [EMAIL PROTECTED], http://www.acc.umu.se/~stric/
|- Student at Computing Science, University of Umeå
`- Sysadmin at {cs,acc}.umu.se
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to