From: Jim Salter <jim@jrs-s.net>
To: linux-btrfs@vger.kernel.org
Subject: btrfs scrub ioprio
Date: Sun, 24 Nov 2013 22:45:59 -0500 [thread overview]
Message-ID: <5292C7F7.8010200@jrs-s.net> (raw)
TL;DR scrub's ioprio argument isn't really helpful - a scrub murders
system performance til it's done.
My system:
3.11 kernel (from Ubuntu Saucy)
btrfs-tools from 2013-07 (from Debian Sid)
Opteron 8-core CPU
32GB RAM
4 WD 1TB Black drives in a btrfs RAID10 (data and metadata).
iotop shows that the idle priority really is set on the processes:
>> me@box:~$ sudo iotop -bn 1 | grep idle
>> 28326 idle root 82.06 M/s 0.00 B/s 0.00 % 0.00 % btrfs
scrub start -c3 /data
>> 28327 idle root 89.30 M/s 0.00 B/s 0.00 % 0.00 % btrfs
scrub start -c3 /data
>> 28329 idle root 84.47 M/s 0.00 B/s 0.00 % 0.00 % btrfs
scrub start -c3 /data
>> 28331 idle root 79.64 M/s 0.00 B/s 0.00 % 0.00 % btrfs
scrub start -c3 /data
But unfortunately, despite being on "idle" priority, the scrub is
KILLING system performance. This is one of my eight CPU cores. Any core
with a significant amount of non-idle time has three to four times as
much wait time as it does user/system time. Brutal:
>> Cpu4 : 4.4%us, 16.1%sy, 0.0%ni, 12.4%id, 67.2%wa, 0.0%hi,
0.0%si, 0.0%st
Anybody got any ideas that might make the scrub go a little less...
enthusiastically... and leave the system more usable? Right now, with a
scrub running, the system is so burdened that it may take as much as two
to three seconds to so much as display a manpage. God help you if you
want to, say, log into a VM running on the system. It'll GET there, but
it'll look like it's iSCSI on TCP over carrier pigeon.
next reply other threads:[~2013-11-25 3:54 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-25 3:45 Jim Salter [this message]
2013-11-25 12:25 ` btrfs scrub ioprio Austin S Hemmelgarn
2013-11-25 12:55 ` Jim Salter
2013-11-25 13:05 ` Austin S Hemmelgarn
2013-11-26 0:50 ` Holger Hoffstaette
2014-01-19 13:49 ` Kai Krakow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5292C7F7.8010200@jrs-s.net \
--to=jim@jrs-s.net \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.