[Ocfs2-users] ocfs2 hangs during webserver usage
David Johle
djohle at industrialinfo.com
Tue Jan 27 10:52:45 PST 2009
Even if the reads are scattered about the disk, I do find it hard to
believe that the SAN can't keep up with 100 IOPs.
I will look into the blktrace for sure ... expect a reply on that soon.
And FWIW, today it did more than just slow down or lag for a bit, it
actually hung for real. Tons of processes in D state making load
average go up to 280+ and one process spinning at 100% (but not
actually doing anything according to strace).
I did get some interesting output from syslog which might provide
some more insight:
Jan 27 11:12:08 wolf kernel: BUG: soft lockup - CPU#7 stuck for 10s!
[vsftpd:9868]
Jan 27 11:12:08 wolf kernel: CPU 7:
Jan 27 11:12:08 wolf kernel: Modules linked in: mptctl mptbase
ipmi_devintf ipmi_si ipmi_msghandler dell_rbu ocfs2(U) dm_round_robin
ocfs2_dlmfs(U) ocfs2_dlm(U) ocfs2_nodemanager(U) configfs ipv6
xfrm_nalgo crypto_api ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_co
re ib_addr iscsi_tcp libiscsi scsi_transport_iscsi dm_multipath video
sbs backlight i2c_ec i2c_core button battery asus_acpi acpi_me
mhotplug ac parport_pc lp parport joydev ata_piix libata sg
i5000_edac ide_cd serio_raw bnx2 e1000e shpchp edac_mc cdrom pcspkr
dm_s napshot dm_zero dm_mirror dm_mod megaraid_sas sd_mod scsi_mod
ext3 jbd uhci_hcd ohci_hcd ehci_hcd
Jan 27 11:12:08 wolf kernel: Pid: 9868, comm: vsftpd Tainted:
G 2.6.18-92.1.10.el5 #1
Jan 27 11:12:08 wolf kernel: RIP:
0010:[<ffffffff80013584>] [<ffffffff80013584>] find_lock_page+0x97/0xa1
Jan 27 11:12:08 wolf kernel: RSP: 0018:ffff81010f281a80 EFLAGS: 00000216
Jan 27 11:12:08 wolf kernel: RAX: 0000000000000000 RBX:
ffff810101bacce8 RCX: 0000000000000000
Jan 27 11:12:08 wolf kernel: RDX: ffff810101bacce8 RSI:
0000000000001000 RDI: ffff81012ae8e930
Jan 27 11:12:08 wolf kernel: RBP: ffffffff8000e53a R08:
ffff81000000eb00 R09: 0000000000000000
Jan 27 11:12:08 wolf kernel: R10: ffff810101bacce8 R11:
00000000fffffffa R12: ffffffffffffff10
Jan 27 11:12:08 wolf kernel: R13: ffff810086718858 R14:
ffff810101bacce8 R15: ffff81000ab92900
Jan 27 11:12:08 wolf kernel: FS: 00002b5f58634670(0000)
GS:ffff81012fca13c0(0000) knlGS:0000000000000000
Jan 27 11:12:08 wolf kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Jan 27 11:12:08 wolf kernel: CR2: 000000001bd46070 CR3:
0000000128540000 CR4: 00000000000006e0
Jan 27 11:12:08 wolf kernel:
Jan 27 11:12:08 wolf kernel: Call Trace:
Jan 27 11:12:08 wolf kernel: [<ffffffff800259f5>]
find_or_create_page+0x1e/0x75
Jan 27 11:12:08 wolf kernel: [<ffffffff800d9684>]
cont_prepare_write+0x59/0x26e
Jan 27 11:12:08 wolf kernel: [<ffffffff884be743>]
:ocfs2:ocfs2_get_block+0x0/0x970
Jan 27 11:12:08 wolf kernel: [<ffffffff884bf3c3>]
:ocfs2:ocfs2_prepare_write+0x176/0x1d5
Jan 27 11:12:08 wolf kernel: [<ffffffff8000fbbe>]
generic_file_buffered_write+0x26c/0x6d3
Jan 27 11:12:08 wolf kernel: [<ffffffff884bc9b5>]
:ocfs2:ocfs2_insert_extent+0xbda/0xcc9
Jan 27 11:12:08 wolf kernel: [<ffffffff8000df88>] current_fs_time+0x3b/0x40
Jan 27 11:12:08 wolf kernel: [<ffffffff80016064>]
__generic_file_aio_write_nolock+0x36c/0x3b8
Jan 27 11:12:08 wolf kernel: [<ffffffff884cd1a7>]
:ocfs2:ocfs2_extend_file+0xcbb/0xd49
Jan 27 11:12:08 wolf kernel: [<ffffffff800c03b3>]
generic_file_aio_write_nolock+0x20/0x6c
Jan 27 11:12:08 wolf kernel: [<ffffffff800c077f>]
generic_file_write_nolock+0x8f/0xa8
Jan 27 11:12:08 wolf kernel: [<ffffffff8009df7c>]
autoremove_wake_function+0x0/0x2e
Jan 27 11:12:08 wolf kernel: [<ffffffff800645ec>] __down_read+0x12/0x92
Jan 27 11:12:08 wolf kernel: [<ffffffff884cd88e>]
:ocfs2:ocfs2_file_write+0x1cb/0x28a
Jan 27 11:12:08 wolf kernel: [<ffffffff8001646c>] vfs_write+0xce/0x174
Jan 27 11:12:08 wolf kernel: [<ffffffff80016d39>] sys_write+0x45/0x6e
Jan 27 11:12:08 wolf kernel: [<ffffffff8005d116>] system_call+0x7e/0x83
There were many more of these, with varying functions at the copy of
the call stack, for example:
Jan 27 11:11:22 wolf kernel: [<ffffffff800d96de>]
cont_prepare_write+0xb3/0x26e
Jan 27 11:11:48 wolf kernel: [<ffffffff800171f4>]
__block_commit_write+0x71/0xa2
Jan 27 11:12:08 wolf kernel: [<ffffffff800259f5>]
find_or_create_page+0x1e/0x75
Jan 27 11:12:58 wolf kernel: [<ffffffff8003993a>]
generic_commit_write+0x23/0x40
Jan 27 11:14:38 wolf kernel: [<ffffffff884be743>]
:ocfs2:ocfs2_get_block+0x0/0x970
At 07:04 PM 1/26/2009, Sunil Mushran wrote:
>The high util is coinciding with higher read activity. See rKb/s. While the
>numbers are small, it could be resulting in higher util because the ios are
>scattered all over the disk. If that is the case, we need to identify the
>process.
>
>Do you have blktrace installed? If not, install it.
>
>Then run,
>$ btrace -a read /dev/sdX1
>
>This will give you the view from the block layer. Now when you hit that
>slowdown window, the blktrace output will show you the process doing the
>reads. The 5th column is the pid. See man pages for blktrace, btrace and
>blkparse for more.
>
>BTW, that one node shows the writing process waiting at
>"ocfs2_wait_for_status_completion" is to be expected. It is waiting for
>the other node to release the lock. And that node is waiting on the io
>to complete before it can release the lock.
>
>David Johle wrote:
>>[snip older stuff]
More information about the Ocfs2-users
mailing list