Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jun 2018 07:43:33 +0200
From:      Albert Shih <Albert.Shih@obspm.fr>
To:        Shane Ambler <FreeBSD@ShaneWare.Biz>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: What append when arc full
Message-ID:  <20180614054333.GA7053@io.chezmoi.fr>
In-Reply-To: <248ad0be-2002-89b5-0c1a-3ac73d493149@ShaneWare.Biz>
References:  <20180613200700.GA3156@io.chezmoi.fr> <248ad0be-2002-89b5-0c1a-3ac73d493149@ShaneWare.Biz>

next in thread | previous in thread | raw e-mail | index | archive | help
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@obspm.fr
Heure local/Local time:
Thu Jun 14 07:29:32 CEST 2018



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180614054333.GA7053>