What append when arc full
Albert Shih
Albert.Shih at obspm.fr
Thu Jun 14 05:43:19 UTC 2018
Le 14/06/2018 à 13:06:07+0930, Shane Ambler a écrit
> On 14/06/2018 05:37, Albert Shih wrote:
> >
> >
> > On one of my server I need to reserve some ram to the application.
> >
> > So I would like to know what's happend when the ARC are full.
>
> ARC is a cache and it will use any unused ram that it can. When a
> process makes a memory request some of the ARC can be released to
> satisfy the request. This can add a delay to a process starting, which
> is not always desirable.
Ok. Because in my case it's not just a delay.
Here my problem (I know I should start here), I'm planing to change my
current imap server (for 2000 users) to a new one running FreeBSD 11 + Cyrus Imap.
So I got a server with 192Go of Ram, 2 SSD, 28 mechanicals disks for email,
and 2 mechanicals disks for the host system boot.
The imap server run inside a jail on the host, the imap server root FS is a
zpool with two ssd, and the data are on a zpool with 4 vdev (7 disks each).
The perf are good, and everything seem working fine, but I just find out I
can't use zfs send/recv. When I try to send (recv are OK) a snapshot
(especially with a large one) after 1-5 minutes from the moment I start the sending
the host become extremely slow, the "zfs list" command hang, and my jail
cannot be join.
To be honest the server (both) don't crash, but I can't let the imap server hang
during long time (it are in pre-production) event I think after the
sending everything will be fine.
I try last night, if I put
vfs.zfs.arc_max=96G
everything work fine (the sending). So I think that's the point.
But my concern are what append if I shrink a little more the arc_max, let's
say 64G knowing I got < 30To of data. Does I'm going to loose lot of
performance ?
>
> If you want to keep some ram free for your processes, then you can set
> vfs.zfs.arc_max to limit the ram used by ARC. On recent system versions
> you can change it dynamically using sysctl or you can set it in
"dynamically" .... I though it's only can set at boot time, at least it's
what
https://www.freebsd.org/doc/handbook/zfs-advanced.html
say...
> /boot/loader.conf to set it at startup, it accepts human units so you
> can use vfs.zfs.arc_max=25G
Lots of thanks for your help.
Regards
--
Albert SHIH
Observatoire de Paris
France
xmpp: jas at obspm.fr
Heure local/Local time:
Thu Jun 14 07:29:32 CEST 2018
More information about the freebsd-fs
mailing list