Ðû²¼Ê±¼ä£º 2019Äê12ÔÂ17ÈÕ
https://access.redhat.com/solutions/31453
https://access.redhat.com/zh_CN/solutions/695633
Solution ÒÑÑéÖ¤?- ÒѸüР2018ÄêÈýÔÂ20ÈÕ07:56 -?
ÖÐÎÄ (Öйú)
?? Red Hat Enterprise Linux (RHEL) 5.5 (kernel-2.6.18-194) »ò¸ü¸ß°æ±¾
?? Red Hat Enterprise Linux (RHEL) 6
?? Red Hat Enterprise Linux (RHEL) 7
?? Àú³Ì´¦ÓÚÎÞ·¨ÖÐÖ¹µÄ˯Ãß״̬ (D state)
?? ÔÚϵͳ±äΪÎÞÏìӦǰ£¬/var/log/messages ÖмͼÁËÒÔÏÂÐÅÏ¢£º
Raw
INFO: task : blocked for more than 120 seconds
?? ÊÇʲôԵ¹ÊÔÓɵ¼Ö±¬·¢ÉÏÃæµÄÐÅÏ¢£¿ÔÚ¶ÔÕâ¸öÎÊÌâ¾ÙÐйÊÕÏɨ³ýʱÐèҪʲôÐÅÏ¢£¿
# sysctl kernel.hung_task_timeout_secs=0
Raw
kernel.hung_task_panic = 0
2.6.18-194
?ÖÐÔöÌíÁËÒ»¸ö Detect Hung Task ÄÚºËÏß³Ì (khungtaskd
)£¬ËüµÄ¹¦Ð§ÊǼì²âµ½ÄÇЩÒÑ´¦ÓÚ D-state ( Uninterruptible Sleep (UN) ) ״̬Áè¼ÝÁËһ׼ʱ¼ä£¨Ä¬ÈÏÊÇ 120 Ã룩µÄʹÃü£¬²¢°ÑÒÔÏÂÀàÐ͵ÄÐÅÏ¢¼Í¼µ½ÏµÍ³ÈÕÖ¾ÎļþÖУ¨ÀýÈ磬/var/log/messages£©¡£Raw
"INFO: task : blocked for more than 120 seconds"
khungtaskd
?ÄÚºËÏ̻߳á¼à¿ØÀú³ÌµÄ״̬£¬²¢¼ì²éÊÇ·ñÓÐÀú³ÌÒÑ´¦ÓÚ²»¿ÉÖÐÖ¹µÄ״̬Áè¼ÝÁË "kernel.hung_task_timeout_secs" sysctl ²ÎÊýËùÉ趨µÄʱ¼ä³¤¶È£¨Õâ¸öϵͳ²ÎÊýµÄĬÈÏÖµÊÇ 120 Ã룩¡£ÈôÊDZ£´æÕâÑùµÄÀú³Ì£¬Ëü»áÔÚÈÕÖ¾ÖмͼÕâ¸öÇéÐΣ¬²¢¼Í¼ÏÂÛÕ±ÕÀú³ÌµÄŲÓûØËÝÐÅÏ¢¡£ÎªÁ˱ÜÃⱬ·¢´ó×ÚµÄÈÕÖ¾Êý¾Ý£¬ÔÚĬÈÏÇéÐÎÏ£¬Õâ¸ö¼à¿ØÀú³ÌÖ»»á±¨¸æ¼ì²âµ½µÄ×îÏȱ¬·¢µÄ 10 ¸ö¹ÒÆðʹÃü£¬ÒԺ󽫲»ÔÙ±¨¸æ¡£Òò´Ë£¬×ÝÈ»²»ÔÙ±¬·¢Ïà¹ØµÄÐÅÏ¢£¬ÈÔÈ»ÓпÉÄܱ£´æÛÕ±ÕµÄʹÃü¡£Raw
INFO: task syslogd:2643 blocked for more than 120 seconds.?
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.?
syslogd D ffff81000237eaa0 0 2643 1 2646 2634?
(NOTLB)??
ffff8101352c3d88 0000000000000086 ffff8101352c3d98 ffffffff80063ff8?
0000000000001000 0000000000000009 ffff81013d2c57e0 ffff810102ac1820?
0000340b30708992 0000000000000571 ffff81013d2c59c8 000000010000089f?
Call Trace:?
[] thread_return+0x62/0xfe?
[] :jbd:log_wait_commit+0xa3/0xf5?
[] autoremove_wake_function+0x0/0x2e?
[] :jbd:journal_stop+0x1cf/0x1ff?
[] __writeback_single_inode+0x1e9/0x328?
[] do_readv_writev+0x26e/0x291?
[] sync_inode+0x24/0x33?
[] :ext3:ext3_sync_file+0xc9/0xdc?
[] do_fsync+0x52/0xa4?
[] __do_fsync+0x23/0x36?
[] tracesys+0xd5/0xe0
Raw
# uname -a > /tmp/uname.out
# ifconfig > /tmp/ifcongfig.out
# top -n 5 -b > /tmp/top.out
# vmstat 1 50 > /tmp/vm.out
# iostat -x 2 10 > /tmp/io.out
# ps aux > /tmp/ps.out
# ps auxH > /tmp/psh.out
# sar -A > /tmp/sar.out
# free > /tmp/free.out
# lsof > /tmp/lsof.out
ÔËÐÐÒÔÏÂÏÂÁîÒÔÌṩÏà¹ØµÄÊý¾Ý£º
Raw
# tar -cjvf outputs.tar.bz2 /tmp/*.out
# tar -cjvf message.tar.bz2 /var/log/message*
Raw
$ grep MYAPP lsof | grep oracle
MYAPP??? 7096???? 1062? cwd??? DIR??? 0,18???? 0???? 558301 /oracle/prd/fs_ne/inst/conc/log
...
$ grep nfs mount
remotehost@:/ on /oracle/prd/fs_ne/inst type nfs (rw,nosuid)