Anders -
First, thanks for the reply.
Yes, high CPU load, around 6-7 on a dual AMD Opteron system but much of it
may be caused by other things running.
Is there some tool that can isolate the load vs. D-state hang on
a per-process instance?
My chown did finally finish, some 63 hrs later for about 75 chowns/sec.
This is running on system with 4 SATA 7200 rpm drives configured with
software RAID 10 so it is essencialy 2 spindles and we are seeing
about 1/3 of the theoretical maximum.
Would of course be nice to do better, but perhaps is in bounds for reality?
In looking around I did see a ioctl, XFS_IOC_FSBULKSTAT, that seemed
like it might give a different approach to doing this, but looked like it
was read only (and lots of work to get anything going with it...)
Is this a worthwhile avenue to look at more deeply?
;;peter
Anders Saaby wrote:
Hi,
Do you have high CPU usage when running the chown? - Or just processes hanging
i D-state?
On Friday 12 May 2006 21:36, Peter Broadwell wrote:
I seem to be having the same problem as CHIKAMA Masaki was having in
December 7, 2005, namely "chown -R" running very slowly when hitting lots
of files (~17 million in my case).
My machine doesn't have the same constraints that David pointed to as at
least part of the problem.
I have fast disks, and lots of memory (though perhaps still bad logfile
sizes) So I thought I'd feed into the discussion a bit, hoping for any
other ideas...
I'm most interested in anything to (safely) speed this up on a live file
system as it has been running for nearly 24 hours so far... not hung or
corrupted anything as far as I can tell.
Following is possibly interesting info from uname, /proc/meminfo,
/proc/slabinfo, ... (I don't have OOMkiller though):
Thanks -
;;peter
= = = = (start of info) = = = =
peter@cl1 /data $ uname -sr
Linux 2.6.14-gentoo-r2
peter@cl1 /data $ cat /proc/meminfo
MemTotal: 8058120 kB
MemFree: 2770704 kB
Buffers: 12 kB
Cached: 3412304 kB
SwapCached: 6860 kB
Active: 2914928 kB
Inactive: 1673712 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 8058120 kB
LowFree: 2770704 kB
SwapTotal: 32129968 kB
SwapFree: 32114220 kB
Dirty: 16 kB
Writeback: 0 kB
Mapped: 1191804 kB
Slab: 666680 kB
CommitLimit: 36159028 kB
Committed_AS: 1313628 kB
PageTables: 4564 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 24420 kB
VmallocChunk: 34359713687 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
peter@cl1 /data $ cat /proc/slabinfo
slabinfo - version: 2.1
# name <active_objs> <num_objs> <objsize> <objperslab>
<pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata
<active_slabs> <num_slabs> <sharedavail>
rpc_buffers 8 8 2048 2 1 : tunables 24 12 8
: slabdata 4 4 0 rpc_tasks 8 10 384 10
1 : tunables 54 27 8 : slabdata 1 1 0
rpc_inode_cache 8 12 832 4 1 : tunables 54 27 8
: slabdata 3 3 0 fib6_nodes 7 118 64 59
1 : tunables 120 60 8 : slabdata 2 2 0
ip6_dst_cache 7 24 320 12 1 : tunables 54 27 8
: slabdata 2 2 0 ndisc_cache 1 15 256 15
1 : tunables 120 60 8 : slabdata 1 1 0 RAWv6
4 4 896 4 1 : tunables 54 27 8 : slabdata
1 1 0 UDPv6 1 4 896 4 1 :
tunables 54 27 8 : slabdata 1 1 0 tw_sock_TCPv6
0 0 192 20 1 : tunables 120 60 8 : slabdata 0
0 0 request_sock_TCPv6 0 0 128 30 1 : tunables
120 60 8 : slabdata 0 0 0 TCPv6 6
10 1536 5 2 : tunables 24 12 8 : slabdata 2 2
0 UNIX 41 54 640 6 1 : tunables 54 27
8 : slabdata 9 9 0 tcp_bind_bucket 34 448 32
112 1 : tunables 120 60 8 : slabdata 4 4 0
inet_peer_cache 0 0 64 59 1 : tunables 120 60 8
: slabdata 0 0 0 ip_fib_alias 14 118 64 59
1 : tunables 120 60 8 : slabdata 2 2 0 ip_fib_hash
14 118 64 59 1 : tunables 120 60 8 : slabdata
2 2 0 ip_dst_cache 36 48 320 12 1 :
tunables 54 27 8 : slabdata 4 4 0 arp_cache
8 30 256 15 1 : tunables 120 60 8 : slabdata 2
2 0 RAW 3 11 704 11 2 : tunables 54
27 8 : slabdata 1 1 0 UDP 16 20
768 5 1 : tunables 54 27 8 : slabdata 4 4 0
tw_sock_TCP 23 40 192 20 1 : tunables 120 60 8
: slabdata 2 2 0 request_sock_TCP 8 30 128 30
1 : tunables 120 60 8 : slabdata 1 1 0 TCP
15 25 1408 5 2 : tunables 24 12 8 : slabdata
5 5 0 uhci_urb_priv 0 0 88 44 1 :
tunables 120 60 8 : slabdata 0 0 0 scsi_cmd_cache
29 35 512 7 1 : tunables 54 27 8 : slabdata 5
5 0 cfq_ioc_pool 0 0 96 40 1 : tunables 120
60 8 : slabdata 0 0 0 cfq_pool 0 0
160 24 1 : tunables 120 60 8 : slabdata 0 0 0
crq_pool 0 0 88 44 1 : tunables 120 60 8
: slabdata 0 0 0 deadline_drq 607 760 96 40
1 : tunables 120 60 8 : slabdata 18 19 480 as_arq
0 0 112 34 1 : tunables 120 60 8 : slabdata
0 0 0 mqueue_inode_cache 1 4 896 4 1 :
tunables 54 27 8 : slabdata 1 1 0 xfs_chashlist
205900 385952 32 112 1 : tunables 120 60 8 : slabdata 3446
3446 0 xfs_ili 273754 273760 192 20 1 : tunables
120 60 8 : slabdata 13688 13688 0 xfs_ifork 0
0 64 59 1 : tunables 120 60 8 : slabdata 0 0
0 xfs_efi_item 0 0 352 11 1 : tunables 54 27
8 : slabdata 0 0 0 xfs_efd_item 0 0 360
11 1 : tunables 54 27 8 : slabdata 0 0 0
xfs_buf_item 1 21 184 21 1 : tunables 120 60 8
: slabdata 1 1 0 xfs_dabuf 45 288 24 144
1 : tunables 120 60 8 : slabdata 2 2 0 xfs_da_state
0 0 488 8 1 : tunables 54 27 8 : slabdata
0 0 0 xfs_trans 186 351 872 9 2 :
tunables 54 27 8 : slabdata 32 39 81 xfs_inode
275317 275317 528 7 1 : tunables 54 27 8 : slabdata 39331
39331 0 xfs_btree_cur 0 0 192 20 1 : tunables
120 60 8 : slabdata 0 0 0 xfs_bmap_free_item 0
0 24 144 1 : tunables 120 60 8 : slabdata 0 0
0 xfs_buf 288 414 408 9 1 : tunables 54 27
8 : slabdata 45 46 216 xfs_ioend 32 54 144
27 1 : tunables 120 60 8 : slabdata 2 2 0 xfs_vnode
275316 275316 632 6 1 : tunables 54 27 8 : slabdata
45886 45886 0 ntfs_big_inode_cache 0 0 896 4 1 :
tunables 54 27 8 : slabdata 0 0 0 ntfs_inode_cache
0 0 272 14 1 : tunables 54 27 8 : slabdata 0
0 0 ntfs_name_cache 0 0 512 8 1 : tunables 54
27 8 : slabdata 0 0 0 ntfs_attr_ctx_cache 0 0
64 59 1 : tunables 120 60 8 : slabdata 0 0 0
ntfs_index_ctx_cache 0 0 128 30 1 : tunables 120 60
8 : slabdata 0 0 0 nfs_write_data 36 36 832
9 2 : tunables 54 27 8 : slabdata 4 4 0
nfs_read_data 32 35 768 5 1 : tunables 54 27 8
: slabdata 7 7 0 nfs_inode_cache 1 4 912 4
1 : tunables 54 27 8 : slabdata 1 1 0 nfs_page
0 0 128 30 1 : tunables 120 60 8 : slabdata
0 0 0 isofs_inode_cache 0 0 632 6 1 :
tunables 54 27 8 : slabdata 0 0 0 fat_inode_cache
0 0 664 6 1 : tunables 54 27 8 : slabdata 0
0 0 fat_cache 0 0 32 112 1 : tunables 120
60 8 : slabdata 0 0 0 hugetlbfs_inode_cache 1
6 600 6 1 : tunables 54 27 8 : slabdata 1 1
0 ext2_inode_cache 0 0 744 5 1 : tunables 54 27
8 : slabdata 0 0 0 ext2_xattr 0 0 88
44 1 : tunables 120 60 8 : slabdata 0 0 0
journal_handle 0 0 24 144 1 : tunables 120 60 8
: slabdata 0 0 0 journal_head 0 0 96 40
1 : tunables 120 60 8 : slabdata 0 0 0 revoke_table
0 0 16 202 1 : tunables 120 60 8 : slabdata
0 0 0 revoke_record 0 0 32 112 1 :
tunables 120 60 8 : slabdata 0 0 0 ext3_inode_cache
0 0 792 5 1 : tunables 54 27 8 : slabdata 0
0 0 ext3_xattr 0 0 88 44 1 : tunables 120
60 8 : slabdata 0 0 0 reiser_inode_cache 0 0
704 5 1 : tunables 54 27 8 : slabdata 0 0 0
dnotify_cache 0 0 40 92 1 : tunables 120 60 8
: slabdata 0 0 0 eventpoll_pwq 0 0 72 53
1 : tunables 120 60 8 : slabdata 0 0 0
eventpoll_epi 0 0 192 20 1 : tunables 120 60 8
: slabdata 0 0 0 inotify_event_cache 0 0 40
92 1 : tunables 120 60 8 : slabdata 0 0 0
inotify_watch_cache 1 59 64 59 1 : tunables 120 60
8 : slabdata 1 1 0 kioctx 0 0 320
12 1 : tunables 54 27 8 : slabdata 0 0 0 kiocb
0 0 256 15 1 : tunables 120 60 8 : slabdata
0 0 0 fasync_cache 0 0 24 144 1 :
tunables 120 60 8 : slabdata 0 0 0 shmem_inode_cache
840 850 792 5 1 : tunables 54 27 8 : slabdata 170
170 0 posix_timers_cache 0 0 168 23 1 : tunables
120 60 8 : slabdata 0 0 0 uid_cache 9
118 64 59 1 : tunables 120 60 8 : slabdata 2 2
0 sgpool-128 32 32 4096 1 1 : tunables 24 12
8 : slabdata 32 32 0 sgpool-64 32 32 2048
2 1 : tunables 24 12 8 : slabdata 16 16 0 sgpool-32
32 32 1024 4 1 : tunables 54 27 8 : slabdata
8 8 0 sgpool-16 45 48 512 8 1 :
tunables 54 27 8 : slabdata 6 6 0 sgpool-8
52 60 256 15 1 : tunables 120 60 8 : slabdata 4
4 0 blkdev_ioc 114 201 56 67 1 : tunables 120
60 8 : slabdata 3 3 0 blkdev_queue 31 44
712 11 2 : tunables 54 27 8 : slabdata 4 4 0
blkdev_requests 311 630 264 15 1 : tunables 54 27 8
: slabdata 40 42 216 biovec-(256) 256 256 4096 1
1 : tunables 24 12 8 : slabdata 256 256 0 biovec-128
256 256 2048 2 1 : tunables 24 12 8 : slabdata
128 128 0 biovec-64 256 256 1024 4 1 :
tunables 54 27 8 : slabdata 64 64 0 biovec-16
285 285 256 15 1 : tunables 120 60 8 : slabdata 19
19 0 biovec-4 864 1652 64 59 1 : tunables 120
60 8 : slabdata 27 28 480 biovec-1 482 1616
16 202 1 : tunables 120 60 8 : slabdata 8 8 108
bio 860 1500 128 30 1 : tunables 120 60 8
: slabdata 50 50 480 file_lock_cache 6 24 160 24
1 : tunables 120 60 8 : slabdata 1 1 0
sock_inode_cache 93 130 704 5 1 : tunables 54 27 8
: slabdata 26 26 0 skbuff_fclone_cache 20 32 448
8 1 : tunables 54 27 8 : slabdata 3 4 0
skbuff_head_cache 555 1035 256 15 1 : tunables 120 60 8
: slabdata 69 69 0 acpi_operand 1127 1166 72 53
1 : tunables 120 60 8 : slabdata 22 22 0
acpi_parse_ext 0 0 64 59 1 : tunables 120 60 8
: slabdata 0 0 0 acpi_parse 0 0 40 92
1 : tunables 120 60 8 : slabdata 0 0 0 acpi_state
0 0 88 44 1 : tunables 120 60 8 : slabdata
0 0 0 proc_inode_cache 667 690 616 6 1 :
tunables 54 27 8 : slabdata 115 115 0 sigqueue
32 46 168 23 1 : tunables 120 60 8 : slabdata 2
2 0 radix_tree_node 232625 303359 536 7 1 : tunables 54
27 8 : slabdata 43337 43337 0 bdev_cache 22 28
832 4 1 : tunables 54 27 8 : slabdata 7 7 0
sysfs_dir_cache 2946 3021 72 53 1 : tunables 120 60 8
: slabdata 57 57 0 mnt_cache 26 60 192 20
1 : tunables 120 60 8 : slabdata 3 3 0 inode_cache
1080 1085 584 7 1 : tunables 54 27 8 : slabdata
155 155 0 dentry_cache 252909 252909 224 17 1 :
tunables 120 60 8 : slabdata 14877 14877 0 filp
883 1365 256 15 1 : tunables 120 60 8 : slabdata 91
91 0 names_cache 3 5 4096 1 1 : tunables 24
12 8 : slabdata 3 5 0 idr_layer_cache 77 84
528 7 1 : tunables 54 27 8 : slabdata 12 12 0
buffer_head 52111 139612 88 44 1 : tunables 120 60 8
: slabdata 3173 3173 0 mm_struct 67 77 1152 7
2 : tunables 24 12 8 : slabdata 11 11 0
vm_area_struct 2672 2814 184 21 1 : tunables 120 60 8
: slabdata 134 134 0 fs_cache 76 118 64 59
1 : tunables 120 60 8 : slabdata 2 2 0 files_cache
66 72 896 4 1 : tunables 54 27 8 : slabdata
18 18 0 signal_cache 109 120 640 6 1 :
tunables 54 27 8 : slabdata 20 20 0 sighand_cache
103 108 2112 3 2 : tunables 24 12 8 : slabdata 36
36 0 task_struct 123 128 1728 4 2 : tunables 24
12 8 : slabdata 32 32 0 anon_vma 987 1440
24 144 1 : tunables 120 60 8 : slabdata 10 10 0
shared_policy_node 0 0 56 67 1 : tunables 120 60 8
: slabdata 0 0 0 numa_policy 39 404 16 202
1 : tunables 120 60 8 : slabdata 2 2 0
size-131072(DMA) 0 0 131072 1 32 : tunables 8 4 0
: slabdata 0 0 0 size-131072 0 0 131072 1
32 : tunables 8 4 0 : slabdata 0 0 0
size-65536(DMA) 0 0 65536 1 16 : tunables 8 4 0
: slabdata 0 0 0 size-65536 2 2 65536 1
16 : tunables 8 4 0 : slabdata 2 2 0
size-32768(DMA) 0 0 32768 1 8 : tunables 8 4 0
: slabdata 0 0 0 size-32768 20 20 32768 1
8 : tunables 8 4 0 : slabdata 20 20 0
size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0
: slabdata 0 0 0 size-16384 0 0 16384 1
4 : tunables 8 4 0 : slabdata 0 0 0
size-8192(DMA) 0 0 8192 1 2 : tunables 8 4 0
: slabdata 0 0 0 size-8192 17 17 8192 1
2 : tunables 8 4 0 : slabdata 17 17 0
size-4096(DMA) 0 0 4096 1 1 : tunables 24 12 8
: slabdata 0 0 0 size-4096 269 270 4096 1
1 : tunables 24 12 8 : slabdata 269 270 0
size-2048(DMA) 0 0 2048 2 1 : tunables 24 12 8
: slabdata 0 0 0 size-2048 708 736 2048 2
1 : tunables 24 12 8 : slabdata 363 368 0
size-1024(DMA) 0 0 1024 4 1 : tunables 54 27 8
: slabdata 0 0 0 size-1024 350 368 1024 4
1 : tunables 54 27 8 : slabdata 92 92 0
size-512(DMA) 0 0 512 8 1 : tunables 54 27 8
: slabdata 0 0 0 size-512 619 640 512 8
1 : tunables 54 27 8 : slabdata 80 80 0
size-256(DMA) 0 0 256 15 1 : tunables 120 60 8
: slabdata 0 0 0 size-256 82 105 256 15
1 : tunables 120 60 8 : slabdata 7 7 0
size-192(DMA) 0 0 192 20 1 : tunables 120 60 8
: slabdata 0 0 0 size-192 1560 2000 192 20
1 : tunables 120 60 8 : slabdata 100 100 0
size-128(DMA) 0 0 128 30 1 : tunables 120 60 8
: slabdata 0 0 0 size-64(DMA) 0 0 64 59
1 : tunables 120 60 8 : slabdata 0 0 0 size-64
2672 9027 64 59 1 : tunables 120 60 8 : slabdata
153 153 0 size-32(DMA) 0 0 32 112 1 :
tunables 120 60 8 : slabdata 0 0 0 size-128
3807 4950 128 30 1 : tunables 120 60 8 : slabdata 165
165 300 size-32 703 784 32 112 1 : tunables 120
60 8 : slabdata 7 7 0 kmem_cache 155 155
704 5 1 : tunables 54 27 8 : slabdata 31 31 0
peter@cl1 /data $
peter@cl1 /data $ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md/0 22479104 13991500 8487604 63% /
udev 4029060 244 4028816 1% /dev
/dev/md/1 449447808 338816792 110631016 76% /data
none 4029060 0 4029060 0% /dev/shm
cl4:/data 451279232 112298760 338980472 25% /mnt/cl4-data
peter@cl1 /data $ xfs_info /data
meta-data=/dev/md1 isize=256 agcount=16, agsize=7024672
blks = sectsz=512
data = bsize=4096 blocks=112394720, imaxpct=25
= sunit=16 swidth=64 blks, unwritten=1
naming =version 2 bsize=4096
log =internal bsize=4096 blocks=32768, version=1
= sectsz=512 sunit=0 blks
realtime =none extsz=262144 blocks=0, rtextents=0
peter@cl1 /data $
= = = = (end of info) = = = =
|