>Da: da...@fromorbit.com >Data: 12/06/2014 3.21 >A: <kreij...@inwind.it> >Cc: "systemd Mailing List"<systemd-de...@lists.freedesktop.org>, "linux-btrfs" <linux-btrfs@vger.kernel.org> >Ogg: Re: Slow startup of systemd-journal on BTRFS > >On Wed, Jun 11, 2014 at 11:28:54PM +0200, Goffredo Baroncelli wrote: >> Hi all, >> >> I would like to share a my experience about a slowness of systemd when used on BTRFS. >> >> My boot time was very high (about ~50 seconds); most of time it was due to NetworkManager which took about 30-40 seconds to start (this data came from "systemd-analyze plot"). >> >> I make several attempts to address this issue. Also I noticed that sometime this problem disappeared; but I was never able to understand why. >> >> However this link >> >> https://bugzilla.redhat.com/show_bug.cgi?id=1006386 >> >> suggested me that the problem could be due to a bad interaction between systemd and btrfs. NetworkManager was innocent. > >systemd has a very stupid journal write pattern. It checks if there >is space in the file for the write, and if not it fallocates the >small amount of space it needs (it does *4 byte* fallocate calls!) >and then does the write to it. All this does is fragment the crap >out of the log files because the filesystems cannot optimise the >allocation patterns.
I checked the code, and to me it seems that the fallocate() are done in FILE_SIZE_INCREASE unit (actually 8MB). > >Yup, it fragments journal files on XFS, too. > >http://oss.sgi.com/archives/xfs/2014-03/msg00322.html > >IIRC, the systemd developers consider this a filesystem problem and >so refused to change the systemd code to be nice to the filesystem >allocators, even though they don't actually need to use fallocate... If I am able to start a decent setup I would like to play to change some parameters like: - remove fallocate at all (at the beginning only ?) - increase the fallocate allocation unit - change the file log size and rotation time - periodically defragment [...[ > >Cheers, > >Dave. > >-- >Dave Chinner >da...@fromorbit.com >-- >To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in >the body of a message to majord...@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html