perf Interrupt hat zu lange gedauert, aber perf wurde nicht installiert


7

Ich habe gerade meine überprüft, dmesg weil mein Server ab und zu abstürzt. Dort habe ich folgende Zeile gelesen:

perf interrupt took too long (2528 > 2500), lowering kernel.perf_event_max_sample_rate to 50000

das erscheint ein paar mal.
Ich erinnere mich, dass perf ein Tool zur Leistungsanalyse war und ich mich nicht daran erinnere, es installiert zu haben. Also habe ich nachgesehen:

~$ dpkg -l *perf*
dpkg-query: no packages found matching *perf*

Meine Fragen:

  • Ist das ein Zeichen für einen herannahenden Sturm? Weil diese Zeile ein paar Mal kommt und dann gibt es Stackdumps, die mit beginnenrcu_sched detected stalls
  • Woher kommen diese?

Antworten:


4

Diese Nachricht kommt vom Linux-Kernel. Genauer gesagt kommt es von perf_duration functionin linux/kernel/events/core.c:

static void perf_duration_warn(struct irq_work *w)
{
    printk_ratelimited(KERN_INFO
        "perf: interrupt took too long (%lld > %lld), lowering "
        "kernel.perf_event_max_sample_rate to %d\n",
        __report_avg, __report_allowed,
        sysctl_perf_event_sample_rate);
}

Ich weiß nicht, was du genau meinst mit:

Ist das ein Zeichen für einen herannahenden Sturm?

Ich vermute jedoch Probleme mit einem Ihrer Geräte.

PS: Wenn Sie sorgfältig lesen, werden Sie sehen, dass die Nachricht im Code perf: interrupt took too longaber Ihre Nachricht ist perf interrupt took too long. Der Doppelpunkt wurde in Kernel Version 4.6 hinzugefügt.


Ich meine, wenn sich das später auftretende CPU-Abwürgen durch Verlängerung der Perf-Interrupt-Dauer ankündigt.
Martin B.

Schwer zu sagen. Versuchen Sie dies zu untersuchen, indem Sie das System im Rettungsmodus starten .
Ortomala Lokni

3

Ich habe seit einiger Zeit eine ähnliche Meldung auf meinem Desktop-System. Es wird angezeigt, nachdem ein oder manchmal mehrere Kerne für Minuten oder länger in einer unterbrechungsfreien Festplatten-E / A ( Din ps) stehen geblieben sind. Ich vermute eine Racebedingung in der E / A-Planung, die zu einem Deadlock führt, weiß aber nicht, wie ich dies debuggen soll. Der Wechsel zum Deadline Scheduler für die entsprechende Festplatte anstelle von CFQ scheint zu helfen:

# echo deadline > /sys/block/sdX/queue/scheduler 

Ich habe damit kurze Pausen in der Planung beobachtet, aber die zweite Warteschlange des Terminplaners scheint den langen Stillstand zu mildern.

Wenn jemand mehr Licht ins Dunkel bringen könnte, würde ich es auch schätzen.

Bearbeiten

Ich weiß nicht, ob die rcu_schedFehler / Warnungen zusammenhängen, aber es ist durchaus möglich. Ich bekomme sie nicht, möglich, weil mein Kernel anders konfiguriert ist.

Wenn ein Kern zum Stillstand gekommen ist, was ich sehe , mit psIS

$ ps axu | grep ' D'
dirk      4720 13.0  5.1 1615772 842444 pts/3  Dl+  07:27  24:54 iceweasel -P default

für den Prozess, der die E / A durchgeführt hat. Dbedeutet "unterbrechungsfreier Schlaf (normalerweise E / A)" gemäß man ps.


Ich hatte vor kurzem einige andere Probleme , wo meine Unterstützung hat gesagt zu meinem ändern queue/schedulerzu noop. Könnte das zusammenhängen?
Martin B.

Vielleicht hängt es davon ab, was die anderen Probleme waren, was Sie dem Support gesagt haben und was der Support genau gesagt hat. Links?
Dirkt

Ich habe nur gefragt, ob das von festgestellte Abwürgen rcu_schedein Problem meines Systems oder des Knotens ist. Der Support antwortete, indem er mir diesen Link schickte: netcup-wiki.de/wiki/KVM_Tuning Ich habe nur den temporären Scheduler geändert. Was meinst du mit "D in ps"?
Martin B.

Können Sie bitte sagen, wie diese Konfiguration beibehalten werden soll, damit sie nach einem Neustart erhalten bleibt?
Setop

@Setop Verwenden Sie die sysctlvon Ihrer Distribution verwendete Funktion, z /etc/sysctl.d/. Obwohl ich in der Zwischenzeit herausgefunden habe, dass der Terminplaner zwar hilft, es aber immer noch Probleme gibt. Das Upgrade auf einen Never-Kernel hat nichts geändert. Sind Sie auf dasselbe Problem gestoßen?
Dirkt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.