Hi, some information is missing...
How large is your ARC / your main memory? Probably too small to hold all metadata (1/1000 of the data amount). => metadata has to be read again and again A recordsize smaller than 128k increases the problem. Its a data volume, perhaps raidz or raidz2 and you are using an older ZPOOL version? Reading is done for the whole raid stripe when you are reading a block. => the whole raidz stripe has the attributes of a single disk (see Roch's blog). The number of files is not specified. Updating the dedup table needs random access of the table. ~ 60 reads per second is normal for a sata disk with 7200 RPM. so far nothing suprising... Regards, Ulrich ----- Original Message ----- From: drge...@gmail.com To: zfs-discuss@opensolaris.org Sent: Monday, July 19, 2010 5:14:03 PM GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna Subject: [zfs-discuss] Deleting large amounts of files Hello, I think this is the second time this happens to me. A couple of year ago, I deleted a big (500G) zvol and then the machine started to hang some 20 minutes later (out of memory), even rebooting didnt help. But with the great support from Victor Latushkin, who on a weekend helped me debug the problem (abort the transaction and restart it again, which required some black magic and recompiling of ZFS) it worked. Now I'm facing a similar problem. I was writing about 20GB (from CIFS) to a filesystem. While that was going, I deleted some old files, freeing up about 60GB in the process. After Windows was done deleting those (it was instant), i tried to delete another file, which I didnt have permision to. So I SSHd to the machine and removed it manually (pfexec rm file). And thats where problems started. First, I noticed the rm wasnt instant. It was taking long (over 5 minutes). I tried Ctrl-C, Ctrl-Z, another SSH and kill, nothing worked. After a while it died with "killed". I did a "zfs list", and noticed the free space wasn't updated. I tried "sync", it also hangs. I try a reboot - it won't, I guess it's waiting for the sync to finish. So I hard reboot the machine. When it comes back I can access the ZFS pool again. I go to the directory where I tried to delete the files with "rm": files are still there (they weren't before the reboot). I try a "sync" again. Same result (hang). "top" shows a decreasing amount of free memory. zpool iostat 5 shows: rpool 69.4G 79.6G 0 0 0 0 tera 3.12T 513G 63 0 144K 0 ---------- ----- ----- ----- ----- ----- ----- rpool 69.4G 79.6G 0 0 0 0 tera 3.12T 513G 63 0 142K 0 ---------- ----- ----- ----- ----- ----- ----- rpool 69.4G 79.6G 0 0 0 0 tera 3.12T 513G 62 0 142K 0 ---------- ----- ----- ----- ----- ----- ----- rpool 69.4G 79.6G 0 0 0 0 tera 3.12T 513G 64 0 144K 0 ---------- ----- ----- ----- ----- ----- ----- rpool 69.4G 79.6G 0 0 0 0 tera 3.12T 513G 65 0 148K 0 Could this be related to the fact that I THINK i enabled deduplication on this pool a while ago (but then I disabled it due to performance reasons)? What should I do? Do I have to wait for these "reads" to finish? Why are they so slow anyway? Thanks, Hernan -- This message posted from opensolaris.org _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss