Deleting large snapshot on almost full btrfs drive takes up all RAM, brings machine to near halt
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Back In Time |
Expired
|
Undecided
|
Unassigned |
Bug Description
Trying to delete a snapshot ate up all memory causing my machine to become super unresponsive without actually deleting anything.
I tried deleting a (failed but almost complete) snapshot backintime froze for a really long time eating up all of my RAM (16GB!) and bringing my whole machine to a near halt. I needed to start a terminal (where I was getting 1s delay typing characters) to manually kill the 4 backintime processes. Afterwards it seems that the snapshot wasn't really removed at all. Removing the snapshot manually worked just fine:
[root@detained 1]# time rm -dfr 20140614-151820-891
rm -dfr 20140614-151820-891 0.36s user 12.76s system 2% cpu 7:32.88 total
[root@detained 1]#
I'm using backintime 1.0.34 on fully updated Arch Linux. My laptop has an SSD and I do backups on an external HDD.
summary: |
- Deleting snapshot takes up all RAM, brings machine to near halt + Deleting large snapshot on almost full btrfs drive takes up all RAM, + brings machine to near halt |
Germar (germar) wrote (as comment to #992026):
If BIT really consumes all your RAM this is a serious bug that should have it's own report.
BIT uses this commands to remove snapshots: to/backintime/ host/user/ profile_ id/snapshot_ id" -type d -exec chmod u+wx "{}" + to/backintime/ host/user/ profile_ id/snapshot_ id"
find "/path/
rm -rf "/path/
Can you please test again (especially the find command) if that eat up your RAM? If it does please open a new bug for this.
I've tried running the find command on my most recent snapshot (the old one is gone now), and it worked well, without raising the total RAM usage beyond 12%. Here is the output of the time command: 105950- 290" -type d -exec chmod u+wx "{}" + 105950- 290" -type d -exec chmod u+wx "{}" + 0.48s user 6.24s system 3% cpu 3:35.11 total
[hritcu@detained 1]$ time find "20140622-
find "20140622-
[hritcu@detained 1]$