Prozessauslastung CPU anhand Anzahl Cores

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Prozessauslastung CPU anhand Anzahl Cores

Beitrag von Trollkirsche » 18.10.2023 22:54:29

Hello :)

Vielleicht könnt ihr mir weiterhelfen?

Ich zweifle gerade hin und her, ob ich mir eine I7-14700K oder eine I9-14900K kaufen soll. Der Preisunterschied ist jetzt nicht die Welt,
jedoch besitzt der 14900K mehr Kerne. Daher meine Frage :

Wie verhält es sich unter Linux mit der Auslastung der Kerne mit den Prozessen? Werden die Prozesse immer auf allen Kerne verteilt
oder besitzt Linux eine Art intelligentes Prozess Managment, damit nicht alle Kerne verwendet werden und somit der Stromverbrauch
effizient genutzt wird? Falls nämlich beim standardmässigen Betrieb alle Kerne verwendet würden, so würde der 14700K aufgrund des
Stromverbrauchs mehr Sinn ergeben.

Falls jedoch Linux die Kerne auf intelligente Weise verwendet und der Stromverbrauch bei beiden CPUs gleich wären, dann würde nur
der Preisunterschied eine Rolle spielen, was für den 14900K sprechen würde.

Eure Meinung zu dem Thema interessiert mich sehr.

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von heisenberg » 18.10.2023 22:59:32

Ich denke, dass hängt mal von den Anwendungen, die Du nutzt, ab. Ich würde vermuten, dass Du auf dem Desktop nicht so ohne weiteres Deine CPU auf allen Kernen ausgelastet bekommst. Da wäre die Frage, was Du mit Deiner Kiste machst, dass Du denkst, Du brauchst maximale CPU Power.

Im Serverbereich haben AMD-CPUs gegenüber den Intels ein weitaus besseres Preis-/Leistungsverhältnis. Ich könnte mir vorstellen, dass es im Desktopbereich vielleicht ähnlich ist.

Von der gefühlten Geschwindigkeit ist bestimmt eine NVMe-SSD der größte Booster, den man haben kann.

Ich habe mal auf der Arbeit einen Desktop I9 getestet, weil der I9 eben der schnellste Prozessor ist und dann habe ich mal gemessen, ob das Wordpress schneller war. Ergebnis: Nicht ein bisschen.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von Trollkirsche » 18.10.2023 23:45:29

heisenberg hat geschrieben: ↑ zum Beitrag ↑
18.10.2023 22:59:32
Ich denke, dass hängt mal von den Anwendungen, die Du nutzt, ab. Ich würde vermuten, dass Du auf dem Desktop nicht so ohne weiteres Deine CPU auf allen Kernen ausgelastet bekommst. Da wäre die Frage, was Du mit Deiner Kiste machst, dass Du denkst, Du brauchst maximale CPU Power.

Im Serverbereich haben AMD-CPUs gegenüber den Intels ein weitaus besseres Preis-/Leistungsverhältnis. Ich könnte mir vorstellen, dass es im Desktopbereich vielleicht ähnlich ist.

Von der gefühlten Geschwindigkeit ist bestimmt eine NVMe-SSD der größte Booster, den man haben kann.

Ich habe mal auf der Arbeit einen Desktop I9 getestet, weil der I9 eben der schnellste Prozessor ist und dann habe ich mal gemessen, ob das Wordpress schneller war. Ergebnis: Nicht ein bisschen.
Bezüglich SSDs habe ich mir 2 M2 Festplatten gekauft.

Ich versuche gerade herauszufinden, was für mich die beste CPU ist und versuche das ganze abzuwägen mit dem Stromverbrauch in Spielen und Anwendungen und das gestaltet sich schwieriger, als gedacht.

Wenn ich das richtig verstehe, so nutzt Linux nicht willkürlich die Kerne und lastet alle aus und erhöht somit unsinnig den Stromverbrauch? Wie werden denn die Kerne von einem Linux System
verwaltet? Bedeutet mehr Kerne auch gleich höheren Stromverbrauch unter Linux?

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von hikaru » 19.10.2023 00:06:22

Die verbreitetste Scheduler-Strategie ist "race to idle". D.h., Prozesse werden unter Ausnutzung von Taktanhebung und Parallelisierung so schnell wie möglich abgearbeitet, um danach die CPU, bzw. möglichst viele ihrer Kerne wieder schlafen legen zu können.
Das fühlt sich nicht nur für den Nutzer besser an, sondern spart unter'm Strich sogar Strom, selbst wenn mehr Kerne (dafür aber kürzer) aktiv sind.
Diese Einsparungen sind aber bei zwei im Grund vergleichbaren CPUs in einem Bereich, der kaum messbar sein dürfte, insbesondere wenn ohnehin nur geringe Last anliegt.

Fazit:
Mach davon nicht deine Kaufentscheidung abhängig!
Ob du die größere CPU nimmst, solltest du abgesehen vom Preisunterschied daran festmachen, ob du Szenarien hast, die von dem Mehr an Rechenleistung für dich spürbar profitieren.

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von heisenberg » 19.10.2023 00:33:29

Trollkirsche hat geschrieben: ↑ zum Beitrag ↑
18.10.2023 23:45:29
Bezüglich SSDs habe ich mir 2 M2 Festplatten gekauft.
M.2 ist nur der Formfaktor. Das Protokoll, dass darüber gefahren wird macht den Unterschied: NVMe M.2 ist vermutlich ca. doppelt so schnell wie SATA M.2. Was haben denn die SSDs für eine Modellbezeichnung?
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von Trollkirsche » 19.10.2023 00:36:04

hikaru hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 00:06:22
Die verbreitetste Scheduler-Strategie ist "race to idle". D.h., Prozesse werden unter Ausnutzung von Taktanhebung und Parallelisierung so schnell wie möglich abgearbeitet, um danach die CPU, bzw. möglichst viele ihrer Kerne wieder schlafen legen zu können.
Das fühlt sich nicht nur für den Nutzer besser an, sondern spart unter'm Strich sogar Strom, selbst wenn mehr Kerne (dafür aber kürzer) aktiv sind.
Diese Einsparungen sind aber bei zwei im Grund vergleichbaren CPUs in einem Bereich, der kaum messbar sein dürfte, insbesondere wenn ohnehin nur geringe Last anliegt.

Fazit:
Mach davon nicht deine Kaufentscheidung abhängig!
Ob du die größere CPU nimmst, solltest du abgesehen vom Preisunterschied daran festmachen, ob du Szenarien hast, die von dem Mehr an Rechenleistung für dich spürbar profitieren.
In dem Falle kann man nicht sagen : Mehr Cores bedeuten einen höheren Stromverbrauch als weniger Cores.

Jetzt bleibt nur noch die Frage, welche CPU ich mir kaufen soll. Die 14900K hat eine miese Energieeffizienz, die 7950x3d ist ziemlich teuer, die 7800x3d ist schwach wenn es um Applikationen geht.

Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von Trollkirsche » 19.10.2023 01:28:08

heisenberg hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 00:33:29
Trollkirsche hat geschrieben: ↑ zum Beitrag ↑
18.10.2023 23:45:29
Bezüglich SSDs habe ich mir 2 M2 Festplatten gekauft.
M.2 ist nur der Formfaktor. Das Protokoll, dass darüber gefahren wird macht den Unterschied: NVMe M.2 ist vermutlich ca. doppelt so schnell wie SATA M.2. Was haben denn die SSDs für eine Modellbezeichnung?
Es sind Lexar790 NM.

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von heisenberg » 19.10.2023 01:52:00

Ok. Ist 'ne NVME. Super!
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von Trollkirsche » 19.10.2023 09:59:11

heisenberg hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 01:52:00
Ok. Ist 'ne NVME. Super!
:THX:

Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von Trollkirsche » 19.10.2023 10:03:09

hikaru hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 00:06:22
Die verbreitetste Scheduler-Strategie ist "race to idle". D.h., Prozesse werden unter Ausnutzung von Taktanhebung und Parallelisierung so schnell wie möglich abgearbeitet, um danach die CPU, bzw. möglichst viele ihrer Kerne wieder schlafen legen zu können.
Das fühlt sich nicht nur für den Nutzer besser an, sondern spart unter'm Strich sogar Strom, selbst wenn mehr Kerne (dafür aber kürzer) aktiv sind.
Diese Einsparungen sind aber bei zwei im Grund vergleichbaren CPUs in einem Bereich, der kaum messbar sein dürfte, insbesondere wenn ohnehin nur geringe Last anliegt.

Fazit:
Mach davon nicht deine Kaufentscheidung abhängig!
Ob du die größere CPU nimmst, solltest du abgesehen vom Preisunterschied daran festmachen, ob du Szenarien hast, die von dem Mehr an Rechenleistung für dich spürbar profitieren.
Frage : Wie verhält es sich denn mit Prozessen, die permanent im Hintergrund laufen? Es gibt ja immer wieder Prozesse wie Launcher, Messenger etc. die im Hintergrund offen bleiben. Wird dort
darauf geachtet, dass nicht für jeden einzelnen Prozess ein Kern belastet, sondern diese effizient verwaltet werden?

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von hikaru » 19.10.2023 10:34:10

Trollkirsche hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 10:03:09
Frage : Wie verhält es sich denn mit Prozessen, die permanent im Hintergrund laufen? Es gibt ja immer wieder Prozesse wie Launcher, Messenger etc. die im Hintergrund offen bleiben. Wird dort
darauf geachtet, dass nicht für jeden einzelnen Prozess ein Kern belastet, sondern diese effizient verwaltet werden?
Die Prozesse auf mehrere Kerne aufzuteilen IST effizient, denn dann sind Beide zusammen kürzer online (wir reden hier von Zeiträumen im ms-Bereich), als wenn Einer beide Aufgaben erledigen würde, und dabei noch den Overhead des Kontextwechsels managen müsste.

Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von Trollkirsche » 19.10.2023 11:23:06

hikaru hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 10:34:10
Trollkirsche hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 10:03:09
Frage : Wie verhält es sich denn mit Prozessen, die permanent im Hintergrund laufen? Es gibt ja immer wieder Prozesse wie Launcher, Messenger etc. die im Hintergrund offen bleiben. Wird dort
darauf geachtet, dass nicht für jeden einzelnen Prozess ein Kern belastet, sondern diese effizient verwaltet werden?
Die Prozesse auf mehrere Kerne aufzuteilen IST effizient, denn dann sind Beide zusammen kürzer online (wir reden hier von Zeiträumen im ms-Bereich), als wenn Einer beide Aufgaben erledigen würde, und dabei noch den Overhead des Kontextwechsels managen müsste.
Ich hab da irgendwie ein Verständnisproblem. Ein Praxisbeispiel : Du hast einen Messenger Client, der ist die ganze Zeit offen und stellt ja einen Prozess dar. Der wird ja nicht abgearbeitet und dann geschlossen.
Somit reserviert der ja einen Kern. Jetzt hast du eine andere App wie zb. den Steam Launcher. Der wiederum bleibt ebenfalls offen und somit besetzt der einen weiteren Kern. Auch dieser wird über die Laufzeit
über nicht geschlossen. So würden sich ja nach und nach trotzdem alle Kerne in Gebrauch befinden.

Ich stelle natürlich nicht das aktuelle Konzept in Frage, da wurde sicherlich mehr überlegt als ich zurzeit wahrnehmen kann. Ich versuche es nur zu verstehen :)

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von heisenberg » 19.10.2023 12:08:27

Der Punkt ist hier - wie hikaru schon dargestellt hat - dass eine Anwendung nicht den Prozessor komplett blockiert, sondern immer nur so viel CPU-Zeit zugeteilt bekommt, wie benötigt und dass sind minimale Zeitfenster im Mikrosekundenbereich. D. h. der Prozessor ist nicht voll belegt, wenn Du da den Messenger offen hast, sondern vielleicht nur zu 0,00001 Prozent (Wert frei aus der Luft gegriffen). Was den Stromverbrauch angeht, so verbrauchen moderne Prozessoren (so gut wie) keinen Strom, wenn Sie nicht tatsächlich aktiv sind.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Trollkirsche
Beiträge: 497
Registriert: 08.08.2015 15:03:09
Wohnort: Schweiz Zürich

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von Trollkirsche » 19.10.2023 16:17:13

heisenberg hat geschrieben: ↑ zum Beitrag ↑
19.10.2023 12:08:27
Der Punkt ist hier - wie hikaru schon dargestellt hat - dass eine Anwendung nicht den Prozessor komplett blockiert, sondern immer nur so viel CPU-Zeit zugeteilt bekommt, wie benötigt und dass sind minimale Zeitfenster im Mikrosekundenbereich. D. h. der Prozessor ist nicht voll belegt, wenn Du da den Messenger offen hast, sondern vielleicht nur zu 0,00001 Prozent (Wert frei aus der Luft gegriffen). Was den Stromverbrauch angeht, so verbrauchen moderne Prozessoren (so gut wie) keinen Strom, wenn Sie nicht tatsächlich aktiv sind.
Ok in dem Falle die grössere CPU :)

Vielen Dank für die Beantwortung meiner Fragen.

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Prozessauslastung CPU anhand Anzahl Cores

Beitrag von reox » 20.10.2023 06:43:05

Für - ich sag mal - Standard-Desktop Anwendungen ist es mMn irrelevant ob man 4, 8 oder 64 Cores hat. Es laufen da nie so viele Prozesse gleichzeitig, dass man das irgendwie merken würde (evt grad noch beim booten...).
Dazu kommt, dass es vermutlich kaum eine solche Anwendung gibt, die richtig gut parallelisiert werden kann.
Was man schon merkt ist der Single Core Speed. Daher würde ich für einen reinen Desktop Rechner die CPU wählen, welche am schnellsten ist.
Wenn du vor hast irgendwas paralleles zu machen (Finite Elemente, Bildverarbeitung, ...) dann musst du einen Kompromiss eingehen. Schnelle CPUs mit vielen Kernen gibt es nämlich nicht - dH das Optimum liegt da irgendwo in der Mitte. Andererseits ist der Trend einfach alles auf GPUs zu machen, die zB für Bildverarbeitung einfach viel schneller sind.

Antworten