Ryzen CPU Cores für Dauertest unter Arch Linux deaktivieren

polyphase

Commander
Registriert
Dez. 2010
Beiträge
2.809
Moin,
ich habe die Aufgabe von einem Bekannten bekommen, für einen Test auf seinem Testrechner CPU Cores zu deaktivieren.

Er hat einen Rechner mit einer Ryzen 3700X CPU, welche unter einem Arch Linux läuft.
Für einen Dauertest, sollen nun 4 der 8 Kerne deaktiviert werden, aber SMT soll aktiv bleiben.

Ich habe das jetzt mal kurz folgendermaßen getestet und es hat auch funktioniert.
Ich habe unter dem laufenden System mit folgenden Befehl die entsprechenden Cores + SMT Cores deaktiviert:
Code:
echo 0 > /sys/devices/system/cpu/cpuXX/online
"XX" steht für die jeweilige CPU Nummer.

Dieser Befehl ist nur mit root Rechten ausführbar, also für sein Szenario ungeeignet (der Rechner wird von einer anderen Person bedient, die keine root Rechte haben darf!)


Mir schwebt jetzt vor das irgendwie über grub zu lösen, sodass der User beim Starten ein System mit allen Kernen und ein System mit nur 4 Kernen zur Auswahl hat. "maxcpus=" hilft hier nicht, da dieser dann auch die SMT Kerne der ersten 4 CPUs mitdeaktiviert!

Nur wie löst man das jetzt am besten? Ich kann doch nicht einfach diesen Befehl in die grub cmdline einfügen oder?
 
Einfach im BIOS deaktivieren?
 
Du könntest dem nicht-root user auch einfach per sudoers file erlauben, ein entsprechendes Script auszuführen: https://wiki.archlinux.org/title/Sudo#Example_entries ( unter Enable explicitly defined commands only for user USER_NAME on host HOST_NAME )
Das Script dann halt mit einer Abfrage welches XX eingefügt werden soll
 
  • Gefällt mir
Reaktionen: GTrash81 und polyphase
vielleicht hilft dir dieser Eintrag weiter
 
  • Gefällt mir
Reaktionen: polyphase
Mojo1987 schrieb:
Einfach im BIOS deaktivieren?
Geht leider nicht, bei seinem Board, das hat mir ASRock auch so bestätigt
 
Was soll getestet werden? Das System? Oder ein Programm? Bei letzterem würde ich einen Container nehmen und diesen auf die gewünschten Cores beschränken.
 
  • Gefällt mir
Reaktionen: Termy
Keine Ahnung was da getestet werden soll.
Es ging nur darum die Kerne im System abzuschalten.
 
Und einfach ein Script per Systemd beim Startup laufen lassen geht nicht?

Edit: Also eines welches mit root Berechtigungen läuft und von dir eingerichtet wird.
 
  • Gefällt mir
Reaktionen: polyphase
polyphase schrieb:
Keine Ahnung was da getestet werden soll.
Es ging nur darum die Kerne im System abzuschalten.
Ich würde Ihn mal fragen, wenn er Strom sparen will, wäre das z. B. eher Zeitverschwendung weil die CPU dann tendenziell durch den höheren Boost der erreicht werden kann sogar wärmer wird und mehr Strom durchzieht.
 
DorMoordor schrieb:
Und einfach ein Script per Systemd beim Startup laufen lassen geht nicht?

Edit: Also eines welches mit root Berechtigungen läuft und von dir eingerichtet wird.
Hab ich noch nicht probiert, aber gute Idee.
 
Grün-Menü-Eintrag konfigurieren der rgendwas in der art und Weise x-test-deactivate-cores an die cmdline hinzufügt und das dann über ein script im initramfs lösen, oder als systemd Service der schaut ob der String in der kernel cmdline steht, oder halt einfach über Kernel parameter die kerne isolieren (geht auch. Braucht dann kein Script mehr).
 
  • Gefällt mir
Reaktionen: polyphase
Ja, das hat ja soweit auch "manuell" funktioniert.
Jetzt muss ich mich nur noch reinwurschteln um das richtig konfiguriert zu bekommen 😅
 
Zurück
Oben