Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Aug 2011 11:55:43 +0100
From:      "seanrees@gmail.com" <seanrees@gmail.com>
To:        Daniel Kalchev <daniel@digsys.bg>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: ZFS directory with a large number of files
Message-ID:  <CAJGy1F11p9rdvR5ESDf6AVqiCJmuu99YutqngmnYZW%2B3eHLWYg@mail.gmail.com>
In-Reply-To: <4E37CD13.1070402@digsys.bg>
References:  <CAJGy1F0d7jeyaFuNdXe%2BucTL2r7R4suCyu8xG7WRHenMFZH-6g@mail.gmail.com> <20110802090830.GA92646@icarus.home.lan> <CAJGy1F0V65YB7L_1T-26O_gUkUUzn6mef036iuAw6HRGjxFRQA@mail.gmail.com> <20110802094226.GA93114@icarus.home.lan> <42039B84-D6CE-4780-AA70-8500B1B32036@gsoft.com.au> <4E37CD13.1070402@digsys.bg>

index | next in thread | previous in thread | raw e-mail

On Tue, Aug 2, 2011 at 11:10 AM, Daniel Kalchev <daniel@digsys.bg> wrote:
>> If it is a limitation in ZFS it would be nice to know that, perhaps it
>> truly, really is a bug that can be avoided (or it's inherent in the way ZFS
>> handles such things)
>
> It is possible  that there is not enough memory in ARC to cache that large
> directory.
>
> Other than that, perhaps in ZFS it would be easier to prune the unused
> directory entries, than it is in UFS. It looks like this is not implemented.
>
> Another reason might be some FreeBSD specific implementation issue for
> fstatfs.
>
> In any case, the data available is not sufficient. More information would
> help, like how much RAM this system has, how much ARC uses, some ARC stats.

Which sysctl's would you like?

I grabbed these to start:
kstat.zfs.misc.arcstats.size: 118859656
kstat.zfs.misc.arcstats.hdr_size: 3764416
kstat.zfs.misc.arcstats.data_size: 53514240
kstat.zfs.misc.arcstats.other_size: 61581000

kstat.zfs.misc.arcstats.hits: 46762467
kstat.zfs.misc.arcstats.misses: 16999907

The machine has 2GB of memory.

> What made me wonder is .. how exactly the kernel and zpool disagree on zpool
> version? What is the pool version in fact?

% dmesg | grep ZFS
ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is present;
            to enable, add "vfs.zfs.prefetch_disable=0" to /boot/loader.conf.
ZFS filesystem version 5
ZFS storage pool version 28

% zpool get version tank
NAME  PROPERTY  VALUE    SOURCE
tank  version   15       local

% zpool upgrade tank
This system is currently running ZFS pool version 15.

Pool 'tank' is already formatted using the current version.


Sean


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJGy1F11p9rdvR5ESDf6AVqiCJmuu99YutqngmnYZW%2B3eHLWYg>