Leistung und Virtualisierung

Hardwarezähler stehen perf nicht zur Verfügung

Perf-Software-Events funktionieren, doch CPU-Zyklen oder Instruktionen fehlen. Prüfe PMU-Freigabe, Eventnamen und das Gast-CPU-Modell.

Auf dieser Seite
  1. Symptome und Geltungsbereich
  2. Mögliche Ursachen
  3. Sicher prüfen
  4. Nächste Schritte nach Befund
  5. Quellen und Prüfung
  6. Verwandte Probleme

Symptome und Geltungsbereich

  • cycles oder instructions meldet not supported trotz funktionierender Softwarezähler.
  • Das Bootjournal meldet keinen PMU-Treiber und nur Software-Events.

Betroffene Umgebung

Linux-perf und Hardware-PMUs, auch virtuelle Maschinen mit begrenzter oder deaktivierter virtueller PMU.

Erkennbare Meldungen (synthetische Beispiele)
kernel: Performance Events: no PMU driver, software events only.

Hardwarezähler fehlen in diesem Bootkontext; dies bedeutet keinen Defekt der CPU-Ausführung.

Mögliche Ursachen

Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.

  • Der Kernel kann diese CPU-PMU nicht unterstützen oder Virtualisierung versteckt sie vor dem Gast.
  • Ein Eventname kann zu einem anderen CPU-Modell oder einer anderen PMU gehören; Rechtefehler sind ein anderes Problem.

Sicher prüfen

Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.

Prüfschritt 1

Liest Eventbeschreibungen; startet keine Messung und benötigt installiertes perf.

perf list

Ergebnis einordnen: Unterscheide Hardware, Software und Tracepoints. Ein gelisteter allgemeiner Alias kann bei fehlender PMU trotzdem nicht geöffnet werden.

Prüfschritt 2

Liest Kernel-Eventquellen als Verzeichnisliste; normalerweise ohne erhöhte Rechte.

ls /sys/bus/event_source/devices

Ergebnis einordnen: Eine cpu- oder architekturspezifische PMU stützt Hardwarefreigabe. Nur Softwarequellen sprechen für die Prüfung der Gast-PMU statt niedrigerer perf-Rechtegrenzen.

Prüfschritt 3

Liest Kernel-Initialisierung; berechtigte Journal-Leserechte können nötig sein.

journalctl -k -b --grep='Performance Events|PMU' --no-pager

Ergebnis einordnen: Eine Nur-Software-Meldung nennt die PMU-Verfügbarkeit beim Boot. Erfolgreiche Initialisierung garantiert nicht jedes herstellerspezifische Event.

Nächste Schritte nach Befund

Unterstützte Events dieser PMU verwenden

Wenn das Event zu einem anderen CPU-Modell gehört, wähle durch perf list dokumentierte Events dieses Rechners und nutze bei fehlender Hardware Softwarezähler oder Anwendungszeiten. Benenne den Messtyp genau.

Vorsicht: Softwarezeit ist nicht mit ausgeführten Instruktionen oder Hardwarezyklen austauschbar. Vergleiche verschiedene Zähler nicht als dieselbe Metrik.

Wiederherstellung / Rücknahme: Stelle frühere Eventwahl für eine später unterstützte Umgebung zurück; keine Systemregeländerung ist nötig.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Eine unterstützte virtuelle PMU bewusst freigeben

Wenn der Host eine PMU unterstützt und Analyse vorgesehen ist, konfiguriere dokumentierte Gast-PMU und passendes CPU-Modell über den Hypervisor. Fehlt Host-Kernel-Unterstützung, prüfe ein geeignetes Kernelupdate mit Rückkehrkernel.

Vorsicht: Ein anderes Gast-CPU-Modell kann Migration beeinflussen und verlangt kontrollierten Neustart. Zusätzliche Rechte erzeugen keine fehlende PMU.

Wiederherstellung / Rücknahme: Stelle Gast-CPU-/PMU-Werte zurück oder starte den Rückkehrkernel und prüfe dieselbe Event-Verfügbarkeit.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Quellen und Prüfung

Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.