Hi,
I''ve been running btrfs on one of my machines for a few months now but
I keep hitting performance issues. My system quite frequently freezes
due to IO starvation. Looking at iotop it tends to show the large
majority of the disk I/O being taken up with various btrfs tasks
peeking at 7-8M/s, namely:
btrfs-endio-wri
btrfs-delayed-m
btrfs-transacti
btrfs-cleaner
I''ve already tracked down some sub-optimal performance to the fact
I''m
hosting a large number of RRDs which I''ve attempted to mitigate with
moving them to a nocow sub-volume and performing the appropriate
chattr magic on the host directories. However I''m still seeing these
spikes occur at seemingly random times.
My next suspect is our build directories which contain about 400Mb of
build artefacts that are shuffled around each build. However before
going through a tedious exercise of eliminating all sources of I/O on
the machine some questions:
Is there is any way to identify the higher level file activity behind
the btrfs kernel threads?
Would it be possible to hook into some of the btrfs code paths with
perf to dump something like this?
Secondary questions:
Does a truncate and write of an existing file (as a build would do)
trigger a cow event?
What about a write($FILE~), rename ($FILE~, $FILE)?
I''m currently running 3.7 + the btrfs-next merged at the time I built
it.
--
Alex, homepage: http://www.bennee.com/~alex/
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html