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

Reply via email to