HOWTO: Verwenden von CPU MSR Werkzeuge (RDMSR, WRMSR) in Debian Linux
Zweck: Das ist eine Menge verschiedene Beitrag als einige der Beitrag in diesem Blog. Dies ist eine sehr spezifische Beitrag, dass vielleicht nur sehr wenige Menschen könnten mit dieser in ihrer täglichen Arbeit. Aber trotzdem dachte ich, es wäre zumindest nützlich für jene "paar" Menschen sein. Unterschätzen Sie nicht diese Aufgabe nur, weil nur sehr wenige Menschen finden könnte dies nützlich sein. In der Tat Menschen, die diese Tools verwenden haben, sind sehr fähige Ingenieure, die Low-Level-Hardware im Detail zu verstehen. Also lasst uns loslegen ...
Was lernen wir?
Wir werden lernen, wie man lesen und schreiben CPU MSRs. MSR steht für "Model Specific Registers" oder "Machine Specific Registers". Wer MSR schreiben können muss höchste System-Privilegien zu tun. Grundsätzlich von Lesen und Schreiben von MSR, sind Sie mit Ihrer CPU Umgang mit einer sehr direkten Ebene. Grundsätzlich können Sie ändern Ihr Verhalten CPU mit Hilfe dieser Werkzeuge. Grundsätzlich sind diese Register Daten speichern und die Einstellung für die CPU. Die Adressen und Definition dieser Register kann von einer CPU-Generation zur anderen zu wechseln.
Bitte beachten Sie auch, dass das Spiel (vor allem) schriftlich an Ihre CPU MSR kann, um mögliche Schäden an Ihrem System / CPU führen. Sie wurden gewarnt!
Schritt 1: Download MSR
Debian hat den msr-tools -Paket, das im Grunde enthält zwei Programme:
RDMSR zum Lesen
WRMSR zum Schreiben
# apt-get update
# apt-get install msr-tools
Wenn Ihre Distribution kein msr-tools, dann können Sie downloaden von Linux-Kernel-Baum auch.
Schritt 2: Compile kernel MSR-Modul
Die oben genannten User-Space-Werkzeuge hängen von der "msr" Kernel-Modul. Stellen Sie sicher, dass Ihre Linux-Kernel hat die "msr" Modul kompiliert:
debian:/home/kushalk# cat /boot/config-2.6.29-2-686 | grep MSR
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_X86_MSR=m (or y)
CONFIG_SCSI_ARCMSR=m
# CONFIG_SCSI_ARCMSR_AER is not set
debian:/home/kushalk#
Wenn Ihr CONFIG_X86_MSR ist nicht auf entweder "m" oder "y" gesetzt ist, dann müssen Sie neu kompilieren eigenen Kernels, nach Einstellung auf "y" oder "m".
Schritt 3: Load "msr"-Modul
Sie müssen sicherstellen, dass der Kernel "msr" Modul geladen wird, bevor Sie beginnen können mit RDMSR und WRMSR anderen werden Sie die folgende Fehlermeldung erhalten:
debian:/home/kushalk# rdmsr 0x198
rdmsr:open: No such file or directory
Sie können die "msr"-Modul mit dem folgenden Befehl laden:
# modprobe msr
Eine weitere Möglichkeit, wirklich überprüfen können, ob unsere "msr"-Modul geladen wird oder nicht, ist, indem Sie für folgende Verzeichnisse:
debian:/home/kushalk# ls /dev/cpu/0/msr
/dev/cpu/0/msr
Schritt 4: Lesen und schreiben MSR
Sobald Sie laden das "msr"-Modul können Sie lesen Werte aus dem CPU-Register wie folgt aus:
# rdmsr 0x198
Output:
6120d2606000612
Grundsätzlich sind Sie liest den Wert aus dem Register-Nummer 198. Sie müssen Ihre CPU / Architektur Handbuch zu konsultieren, um die Definition von jedem dieser Register, um die Ausgabe zu interpretieren sehen. Soweit ich weiß, sagt die oben Registernummer, 0 × 198, die maximale Frequenz Ihrer CPU unterstützt und die Frequenz, mit der die CPU gerade läuft an.
Wenn Sie Multi-Prozessor-System haben, dann können Sie die CPU-Nummer auch wie folgt aus:
# rdmsr -p1 0x198
Standardmäßig verwendet er die "-p0" Option, dh, Ihre erste CPU.
Ebenso können Sie Werte schreiben MSR wie folgt aus:
# wrmsr 0x198 <value>
Für weitere Informationen lesen Sie die man-Seiten:
# man rdmsr
# man wrmsr
Beachten Sie auch, dass die oben gilt für Intel-Prozessoren ist. Wenn Sie mit AMD-Prozessor werden dann der obige Befehl nicht funktioniert (Register 0 × 198).
Glückliche MSR'ing!













21. September 2009 um 6:11 Uhr
wirklich nett - danke. Früher habe ich zu RDMSR VT Erweiterungen bei 0x3A überprüfen
Vor Hacking meine bios wurde es auf "1", nach einem erfolgreichen mod eingestellt
kehrte er "5" und ich konnte kvm geladen ...
Prost!
Auf diesen Kommentar antworten
24. März 2013 um 10.38 Uhr
Wirklich nützlich. Es hat mir geholfen, zu deaktivieren TurboBoost und reduziert Laptop Temperaturen im Leerlauf bis 40'C.
Auf diesen Kommentar antworten
25. April 2013 at 11:37
OMG!! DANKE. Ich habe viel zu lang sah dafür.
Auf diesen Kommentar antworten