内核诊断interrupt took too long

Posted linengier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内核诊断interrupt took too long相关的知识,希望对你有一定的参考价值。

The linux kernel gathers samples using ‘perf’ performance monitor without affecting the latencies.
These include getting interrupt times. If interrupts take too long, a similar message to this prints:

kernel: [ 6491.061361] perf: interrupt took too long (6650 > 6452), lowering kernel.perf_event_max_sample_rate to 30000

Meaning
This essentially means that the machine was stuck on an interrupt for a long amount of time. This can be caused by a number of reasons, including:

DISK IO interrupt taking long would be caused by a faulty, slow or overloaded disk. Alternatively this can be caused by an issue with a disk or raid controller.
Network IO interrupt taking too long would be caused most often by network driver issues being suboptimal. Alternatively, this can be caused by network issues, although the protocol switching should theoretically be preventing it.
Troubleshooting
The disk IO can be easily checked with disk IO stats (sysstat-sar and/or iostat) and confirmed. If the disk IO is not the reason for slow interrupts, the network IO will be. For this, the problem needs to be checked on the network and/or kernel side.

First point of troubleshooting should include checking kernel messages in /var/log/(messages|syslog) as well as dmesg. Should these show tracebacks from vmxnet driver, the interrupt taking too long will be caused by a faulty network driver. Please contact the network card provider for this, or try upgrading to the latest available stable kernel.

If there is no issue with the kernel drivers, the network would be most liekly at fault, most likely first hop. This then needs to be checked on the network side.

Keywords
network interrupt took too long latency

Timestamp
参考网址








以上是关于内核诊断interrupt took too long的主要内容,如果未能解决你的问题,请参考以下文章

Linux(内核剖析):21---中断之中断上下文中断处理机制的实现/proc/interrupts

Linux 内核进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )

linux 网卡 有多个interrupt

诊断 CUDA 内核问题

qemu+gdb调试内核出现remote ‘g’ packet reply is too long

Linux中断(interrupt)子系统之一:中断系统基本原理