zfs directory listing
ivoras at freebsd.org
Thu Feb 17 00:56:02 UTC 2011
On 16/02/2011 23:52, Andrew Thompson wrote:
> I have a zfs file system on 8.1-RELEASE amd64 which as a large number
> of files in /var/spool/mqueue. loader.conf has vfs.zfs.arc_max=2G for
> an 8G box.
> mqueue has a link count of 522824. I can not list the contents of this
> directory, when I do the number of read IOPS sits> 100 and it will
> never complete
Your problem is probably not FreeBSD-specific and possibly not even
ZFS-specific. That is a fairly large number of files in a directory for
any file system; The rule of thumb is usually to start sharding as soon
as the number of files gets even two orders of magnitude lower than what
you have there.
As others said, try "cd /var/spool/mqueue && find ." - the find utility
just reads the directory, it doesn't try to gather other metadata which
"ls" uses and is usually one of the rare utilities which can work with
gigantic directories (usually in the form "find . -delete" :) ).
The reason for this is that filenames and file metadata are separate
objects on the drives and the drives need to seek between them to get
both if they are not cached.
More information about the freebsd-fs