web-dev-qa-db-fra.com

Comment résoudre l'erreur "unknown op" avec Powertop sur Ubuntu 16.04?

quand je tape:

Sudo powertop

J'ai eu l'erreur suivante:

unknown op '{'
            Model-specific registers (MSR)           not found (try enabling CONFIG_X86_MSR).
                     read_msr cpu2 0x60d : No such file or directory

Quelqu'un peut-il aider?

2
Amir Soleymani

C'est un bug connu qui n'a pas d'effet sur le programme.

détails de PowerTop 2.7

Bugs connus (nous prévoyons de les corriger dans les prochaines versions):

  • Problème avec traceevent lib il imprime string: unknown op '{'. Ce bogue n’a pas d’impact sur les fonctionnalités de PowerTOP.

  • PowerTOP affiche tous les processeurs inactifs à 99% et 600 MHz toujours aux alentours de 1%, même lors de l'exécution d'une charge de travail. Cela se produit lorsque vous définissez les statistiques de fréquence sur powersave gouverneur.

  • Résumé PowerTOP utilisation du processeur supérieure à 100%

3
Wiffzack

La commande powertop nécessite le module de noyau msr. La mention de CONFIG_X86_MSR dans le message d'erreur est une référence à une option de configuration du noyau. Sur mon système Ubuntu, il est défini comme suit:

CONFIG_X86_MSR=m

ce qui signifie qu'il est configuré en tant que module de noyau. Lorsque j'exécute powertop, mon module de noyau msr est chargé automatiquement. Une valeur de y plutôt que m compilera msr directement dans le noyau, tandis qu'une valeur de n le désactivera complètement.

Vous devriez pouvoir déterminer la valeur de CONFIG_X86_MSR sur votre système Ubuntu en consultant le fichier /boot/config-* correct. Par exemple, sur mon système Ubuntu, le fichier pertinent est /boot/config-4.4.0-31-generic. Si vous avez plusieurs fichiers de ce type, la sortie de uname -r devrait vous indiquer lequel correspond au noyau en cours d'exécution.

Pour commencer, vous devez déterminer la valeur de CONFIG_X86_MSR. Si vous n'avez pas créé de noyau personnalisé, m est une valeur probable pour cela. Si la valeur est n, vous devrez probablement créer un nouveau noyau configuré différemment ou amorcer un noyau standard avec CONFIG_X86_MSR activé (avec y ou m). Si la valeur est m, vous devez vérifier si le msr est chargé. S'il n'est pas chargé, modprobe msr devrait le charger, s'il est correctement installé.

Une autre chose à vérifier est de savoir si votre noyau en cours d’exécution correspond au dernier noyau installé. Si votre noyau a été mis à niveau sans redémarrage ultérieur, cela pourrait empêcher le chargement correct du module msr.

2
Eirik Fuller