xfs
[Top] [All Lists]

Re: deep chmod|chown -R begin to start OOMkiller

To: Anders Saaby <as@xxxxxxxxxxxx>
Subject: Re: deep chmod|chown -R begin to start OOMkiller
From: Peter Broadwell <peter@xxxxxxxx>
Date: Mon, 15 May 2006 14:30:54 -0700
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <200605151159.34802.as@cohaesio.com>
References: <4464E3B5.8020602@wink.com> <200605151159.34802.as@cohaesio.com>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 1.5.0.2 (X11/20060420)
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) = = = =



<Prev in Thread] Current Thread [Next in Thread>