Hi On Tue, Aug 5, 2014 at 4:37 PM, Oon-Ee Ng <ngoonee.talk@gmail.com> wrote:
Yesterday night I noticed (just before performing an update my conky showing high continuous writing to root. iotop -Pa shows this:-
Total DISK READ : 0.00 B/s | Total DISK WRITE : 8.93 M/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 11.06 M/s PID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 112 be/4 root 0.00 B 64.91 M 0.00 % 24.34 % [kworker/u16:3] 11936 be/4 root 0.00 B 0.00 B 0.00 % 0.06 % [kworker/1:1] 28794 be/4 root 0.00 B 36.00 K 0.00 % 0.00 % [kworker/u16:1]
This is after roughly 6-7 seconds, and 65 MB has already been written by that kworker thread.
How long this IO activity takes? Could it be some kind of automatic defragmentation or some other internal btrfs background optimization? A good idea is to check btrfs changelog for 3.16 kernel release.
As I said, this was already happening before an upgrade. I ran the upgrade anyway, which upgraded linux to 3.16-2, and still got the same thing. Yes, I'm using [testing].
Any ideas on how to proceed? Next thing I'm going to try is downgrading linux to 3.15, but I thought I'd post this here first in case I don't make it back.
'perf' is a great and very powerful tool that allow to debug problems like this. Run '# perf top -g -p $PID' and it will show where the process spends *cpu cycles*. It should be enough to understand what kworker thread does. For all curious minds I highly recommend to read this tutorial https://perf.wiki.kernel.org/index.php/Tutorial