Utilizați acest răspuns pe propriul risc.
Acest răspuns folosește un Intel(R) Core(TM) i5-10600K pentru exemple. Adresele de registru ar trebui să fie aceleași pentru un i7-4700MQ.
Notă: Dacă nucleul dvs. este suficient de nou, atunci accesul de scriere la MSR-uri (registru specific mașinii) va fi dezactivat, necesitând msr.allow_writes=on
pentru a fi adăugat la dvs /etc/default/grub
Linie de comanda, GRUB_CMDLINE_LINUX_DEFAULT
.
Condiție preliminară: msr-tools, turbostat și modulul msr încărcate.
MSR_TURBO_RATIO_LIMIT (1ADH) este citit numai dacă bitul 28 MSR_PLATFORM_INFO (0CEH) este 0, dar este citit/scriere dacă bitul 28 este 1.
Exemplu de metoda 1:
$ sudo modprobe msr
$ sudo rdmsr --bitfield 28:28 0x0ce
1
Exemplu de metoda 2, folosiți turbostat pentru a citi registrul și a-l decoda eu. De asemenea, enumerați metoda 2 mod de observare a rapoartelor turbo acum:
$ sudo turbostat
versiunea turbostat 21.05.04 - Len Brown <[email protected]>
...
cpu2: MSR_PLATFORM_INFO: 0x808083af1012900
...
cpu2: MSR_TURBO_RATIO_LIMIT: 0x303030303030
48 * 100.0 = 4800.0 MHz max turbo 6 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 5 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 4 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 3 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 2 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 1 nuclee active
...
Deci, am capacitatea de a-mi schimba rapoartele turbo.
Ce sunt ei în prezent? Metoda 2, turbostat este listat și decodat mai sus, ceea ce este probabil cel mai ușor. Metoda 1:
$ sudo rdmsr 0x1AD
303030303030
8 mușcături pe număr de nuclee active, începând cu 1, sau toate sunt 48.
Deci, să zicem că am vrut să schimb 6 nuclee active la 47 sau 2FH:
$ sudo wrmsr 0x1AD 0x2f3030303030
$ sudo rdmsr 0x1AD
2f3030303030
Și, de asemenea, verificați prin turbostat:
$ sudo turbostat
...
cpu10: MSR_TURBO_RATIO_LIMIT: 0x2f3030303030
47 * 100.0 = 4700.0 MHz max turbo 6 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 5 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 4 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 3 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 2 nuclee active
48 * 100.0 = 4800.0 MHz max turbo 1 nuclee active
Notă: Unele modele de procesoare vor lista rapoarte turbo pentru mai multe nuclee decât au de fapt. exemplu i5-9600K:
CPU5: MSR_TURBO_RATIO_LIMIT: 0x2b2b2e2e2e2e2e2e
43 * 100.0 = 4300.0 MHz max turbo 8 nuclee active << Am doar 6 nuclee
43 * 100.0 = 4300.0 MHz max turbo 7 nuclee active << Am doar 6 nuclee
46 * 100.0 = 4600.0 MHz max turbo 6 nuclee active
46 * 100.0 = 4600.0 MHz max turbo 5 nuclee active
46 * 100.0 = 4600.0 MHz max turbo 4 nuclee active
46 * 100.0 = 4600.0 MHz max turbo 3 nuclee active
46 * 100.0 = 4600.0 MHz max turbo 2 nuclee active
46 * 100.0 = 4600.0 MHz max turbo 1 nuclee active
Aceste informații pot fi ignorate.