GNU/Linux >> Znalost Linux >  >> Cent OS

"kernel:INFO:task {PROCESS}:{PID} blokován déle než 120 sekund." – Odstraňování problémů CentOS/RHEL

Problém

Občas INFO zprávy jsou přihlášeny do /var/log/messages jako například:

Apr 19 03:33:22 host kernel: INFO: task kjournald:2046 blocked for more than 120 seconds.
Apr 19 03:33:22 host kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Apr 19 03:33:22 host kernel: kjournald     D ffff810001004420     0  2046     49          2476  2044 (L-TLB)
Apr 19 03:33:22 host kernel:  ffff81013ce9fdd0 0000000000000046 0000000000000100 0000000000000000
Apr 19 03:33:22 host kernel:  0000000000000000 000000000000000a ffff81013c7d0820 ffffffff80309b60
Apr 19 03:33:22 host kernel:  001b51e0f255644a 0000000000000a88 ffff81013c7d0a08 0000000000000000
Apr 19 03:33:22 host kernel: Call Trace:
Apr 19 03:33:22 host kernel:  [] :jbd:journal_commit_transaction+0x16d/0x1066
Apr 19 03:33:22 host kernel:  [] autoremove_wake_function+0x0/0x2e
Apr 19 03:33:22 host kernel:  [] try_to_del_timer_sync+0x7f/0x88
Apr 19 03:33:22 host kernel:  [] :jbd:kjournald+0xc1/0x213
Apr 19 03:33:22 host kernel:  [] autoremove_wake_function+0x0/0x2e
Apr 19 03:33:22 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:23 host kernel:  [] :jbd:kjournald+0x0/0x213
Apr 19 03:33:24 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:24 host kernel:  [] kthread+0xfe/0x132
Apr 19 03:33:24 host kernel:  [] child_rip+0xa/0x11
Apr 19 03:33:24 host kernel:  [] keventd_create_kthread+0x0/0xc4
Apr 19 03:33:24 host kernel:  [] kthread+0x0/0x132
Apr 19 03:33:24 host kernel:  [] child_rip+0x0/0x11

Co jsou tato sdělení a jaký mají dopad?

Řešení

Tato zpráva předpokládá, že proces je ve stavu „D“ po dobu 120 sekund. V tomto příkladu kjournald čekal na dokončení journal_commit_transaction() více než 120 sekund, s největší pravděpodobností kvůli těžkým I/O některým procesům, protože journal commit je atomická funkce.

Obecně řečeno, toto může být ignorováno, pokud zprávy nejsou tak často přihlášeny do /var/log/messages. Toto je pouze informace, která předpokládá, že proces byl zablokován z nějakých důvodů, k nimž mohlo dojít v důsledku těžkého I/O, odpojení úložiště/sítě/zpoždění nebo podobně.

Po nalezení této zprávy tedy musíme nejprve zkontrolovat, zda je tato zpráva často protokolována, a dále, zda v té době došlo k potížím se sítí/úložištěm.

Závěr

Tyto zprávy obvykle znamenají, že v systému dochází k zahlcení disku nebo paměti a procesům chybí dostupné zdroje. Tyto zprávy slouží jako varování, že něco nemusí fungovat optimálně. Nemusí nutně znamenat vážný problém a všechny zablokované procesy by měly případně pokračovat, až se systém zotaví. Pokud je to možné, můžete zkusit zachytit výstup níže uvedených příkazů během problému:

# 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

Tyto výstupy mohou být užitečné při diagnostice problému zablokování systému nebo důvodu INFO zprávy „úloha blokována déle než 120 sekund“.


Cent OS
  1. CentOS / RHEL:Jak povolit SSL pro Apache

  2. Jak používat nástroj Magic SysRq v CentOS / RHEL

  3. Odstraňování běžných problémů s GUI / X-Window na CentOS/RHEL

  1. Nelze zvýšit hodnotu „nproc“ na více než 1024 v CentOS/RHEL 6

  2. „xfs_log_force:vrácena chyba 5“ – Chyba XFS (CentOS/RHEL 7)

  3. Jak zachytit více protokolů v /var/log/dmesg pro CentOS/RHEL

  1. Konečný průvodce upgradem jádra na CentOS/RHEL/Fedora

  2. CentOS / RHEL 7:Tipy pro řešení problémů s NTP / chronickými problémy

  3. Jak zkontrolovat aktuální hodnoty parametrů ladění jádra v CentOS/RHEL