On 04/02/2016 05:33, Peter Jeremy wrote:> On 2016-Feb-03 18:23:13 +1030, Shane Ambler <FreeBSD at
ShaneWare.Biz> wrote:
>> Any chance you get high wired allocations?
>
> A high wired allocation is normal for ZFS - ARC shows up as
"wired"
> memory.
>
>> Sometimes several times in a day I see the wired amount shown in top
>> rise to over 6GB (of 8GB) bringing the system to a crawl. When wired
>> gets over 7GB the system rarely recovers.
>
> The ARC limit defaults to 1GB less than physical RAM so 6GB wired on
> an 8GB system isn't unexpected (my home system currently has 30GB
> wired out of 32GB). If this is causing problems for your workload, it
> sounds like you may need to explicitly reduce vfs.zfs.arc_max (note
> that this is a soft limit).
I have vfs.zfs.arc_max=2G - and now realise I also had set
vfs.zfs.arc_min=500M some time ago. Don't recall where I got it but I
also have vfs.zfs.dirty_data_max=200M
Going by figures shown in top, ARC is usually in the 1500M to 2000M
range but when wired gets over 6GB I often see ARC drop to 500MB which
I now realise matches arc_min.
When wired gets over 6GB apps start to stop responding, I then try to
push out some wired by running a script that allocates 4G, 9 times out
of 10 this drops wired to under 4GB and everything keeps working.
If I notice wired over 7GB there's usually no recover. I don't always
get to see the figures before it totally locks up.
On desktop1 I leave a terminal running top and another ready to run my
script to allocate some ram. When an app stops responding I go to
desktop1 and depending on what I see I manually allocate some ram to
flush things out.
Currently I have an uptime of 9 days 9 hours - I have manually allocated
4GB 30 times in that time.
--
FreeBSD - the place to B...Software Developing
Shane Ambler