GNU/Linux >> Linux Esercitazione >  >> Cent OS

"kernel:INFO:attività {PROCESS}:{PID} bloccata per più di 120 secondi." – Risoluzione dei problemi di CentOS/RHEL

Il problema

Occasionalmente INFORMAZIONI i messaggi vengono registrati su /var/log/messages come:

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

Quali sono questi messaggi e qual è il loro impatto?

La soluzione

Questo messaggio indica che il processo è nello stato "D" per 120 secondi. In questo esempio, kjournald stava aspettando il completamento di journal_commit_transaction() per oltre 120 secondi, molto probabilmente a causa di un intenso I/O da parte di alcuni processi, poiché il journal commit è una funzione atomica.

In generale, questo potrebbe essere ignorato, se i messaggi non vengono registrati in /var/log/messages così frequentemente. Si tratta solo di informazioni che indicano che il processo è stato bloccato per alcuni motivi, che potrebbero verificarsi a causa di I/O pesanti, archiviazione/disconnessione della rete/ritardo o altro.

Pertanto, ciò che dobbiamo fare all'inizio dopo aver trovato questo messaggio è controllare se questo è registrato frequentemente e, successivamente, se si è verificato un problema di rete/archiviazione in quel momento.

Conclusione

Questi messaggi in genere significano che il sistema sta riscontrando una congestione del disco o della memoria e che i processi stanno esaurendo le risorse disponibili. Questi messaggi servono come avvertimento che qualcosa potrebbe non funzionare in modo ottimale. Non indicano necessariamente un problema serio e tutti i processi bloccati dovrebbero eventualmente procedere al ripristino del sistema. Puoi provare a catturare l'output dei comandi seguenti durante il problema, se possibile:

# 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

Queste uscite possono essere utili durante la diagnosi del problema di blocco del sistema o il motivo del messaggio INFO "attività bloccata per più di 120 secondi".


Cent OS
  1. Una guida definitiva per aggiornare il kernel su CentOS/RHEL/Fedora

  2. CentOS / RHEL:come abilitare SSL per Apache

  3. Risoluzione dei problemi comuni della GUI/X-Window su CentOS/RHEL

  4. Impossibile aumentare il valore "nproc" più di 1024 in CentOS/RHEL 6

  5. La modifica del nome host non si riflette nel rapporto sar per CentOS/RHEL

ERRORE:impossibile trovare l'albero dei sorgenti del kernel per il kernel attualmente in esecuzione – CentOS / RHEL / AlmaLinux

Come installare Varnish Cache 6 per Nginx su CentOS/RHEL 8

CentOS / RHEL 7:come configurare kdump usando la GUI

Come acquisire più registri in /var/log/dmesg per CentOS/RHEL

Come impostare "max_report_luns" e "max_luns" su CentOS/RHEL 6 per scansionare più di 512 LUN

CentOS / RHEL:esclusione con Yum per gli aggiornamenti del kernel