CPU Auslastung auf nur einer CPU?

  • Ersteller stefangeidel
  • Erstellt am
stefangeidel

stefangeidel

Registriert
02.04.12
Beiträge
5.756
Reaktionen
1.365
Punkte
24.825
Hey Leute,

ich bastel an einem neuen Song und hab ein merkwürdiges Phänomen festgestellt, das ich vorher so nie beobachtet habe:

Die CPU-Auslastung findest fast ausschließlich auf einem Kern statt.

Zum Setup:
Mac mini Late 2012 mit i7 2.6Ghz quad
16 GB RAM
Yosemite (neuste Version)
Logic Pro X (neuste Version)
8 Bearbeitung-Threads in Logic eingestellt
128 Samples
Großer Verarbeitungspuffer

Projektumfang:
3x Guitar Rig 5-Spuren
2x Audio-Spuren mit Logic-interner Amp-Sim
1x Drummer-Spur mit Logic-intermem Drum-Kit (Producer-Kit)

Vorher hatte ich problemlos 80+ Orchester-Spuren gefahren - das hat die CPU nicht gejuckt und jetzt bei den paar Audio-Effekten schmiert mir die CPU ab, weil das Multi-Therading nicht funktioniert? Kann ja net sein...

Überseh ich irgend eine Einstellung?
 

Anhänge

  • Bildschirmfoto 2015-02-26 um 11.20.34.png
    Bildschirmfoto 2015-02-26 um 11.20.34.png
    488 KB · Aufrufe: 386
was seriell abgearbeitet werden muss, kann logischerweise nicht parallelisiert werden
d.h. dein kanal mit den vielen insert plugins wird von oben nach unten abgearbeitet und das kann nicht aufgeteilt werden

versuch mal das problem-plugin zu finden
wenn nichts dabei rauskommt, wird es die schiere anzahl (summe der plugins in einem channel) sein
 
Ja ist mir schon klar, aber wieso werden die verschiedenen Gitarren-Plugins nicht auf die verschiedenen Kerne verteilt? Wenn ich die Spuren nacheinander deaktiviere. reduziert sich die CPU-Last auf dem 8ten Kern...
 
Die verschiedenen Gitarrenplugins werden schon auf verschiedene Kerne verteilt.
Die brauchen anscheinend auch nicht viel Power.

Was hier offensichtlich Power braucht, ist die ausgewählte Spur - die ist scharf geschaltet und auf Input-Monitoring - da versucht Logic immer mit voller Power die niedrigst mögliche Latenz zu erzielen.
(Das passiert immer auf dem "höchsten" Kern.)

Stört Dich der Strich in Deiner Prozessor-Auslastung? Oder hast Du Probleme mit der Aufnahme?
 
war letztens erst Thema in einem Tutorial, das ich mir angeschaut habe.

Der User sagt auch, das er deshalb auch kein Hyperthreading einsetzt, da eben in seltensten Fällen alle Kerne beansprucht werden und es dann bei z. B. Quad-Core reicht mit 4 Kernen zu arbeiten als mit 8

Also ich hab meinen 6Kerner auch auf 6 laufen, und er läuft ehrlich gesagt besser, leistungsstärker als mit 12
 
Auch mit selektierter leerer Audio-Spur ohne Eingänge habe ich die hohe Auslastung.
Es ändert sich auch nichts daran, wenn ich die CPUs auf automatisch oder 4 stelle.

Mich stört es schon, weil wenn ich beim Einspielen von Midi (eine Spur mit der B3 aus Logic) schon die ersten Knackser bekomme. Was ich eben nicht ganz verstehe, weil es ja genug Kerne gibt, auf denen gearbeitet werden könnte...
 
Ist wie in der Arbeit, einer arbeitet, die anderen schauen zu - und dann helfen 20 Mitarbeiter auch nix.

;)

Es kommt halt auch darauf an, ob die DAW das auch so auf die Kerne umleitet, und da hapert es oft, denke ich.

Vor Cubase 7.5 wurde z. B. empfohlen, Hyperthr. auszuschalten, jetzt plötzlich heißt es wieder unbedingt HT einschalten.... ???
 
Auch mit selektierter leerer Audio-Spur ohne Eingänge habe ich die hohe Auslastung.
Gerade erst gesehen: Du hast im Mixer die Spuren 2-5 von Hand auf Input-Monitoring gestellt - sind die auch abgeschaltet gewesen? Oder nimmst Du darauf auf?
 
Oh man, das wars :D

smil46c5f898ce9c7.gif
 
Vor Cubase 7.5 wurde z. B. empfohlen, Hyperthr. auszuschalten, jetzt plötzlich heißt es wieder unbedingt HT einschalten.... ???
generell kann man schon sagen, daß HT mehr bringt
das sagen auch diverse dawbenches aus, wo mit und ohne HT gebenched wurde
allerdings erst wie du auch sagst, ist HT nur dann sinnvoll, wenn ich auch mehr threads als logische kerne habe -> das ist allerdings in den meisten fällen so - oder hast du nie mehr als 4 spuren ?
man muss auch die prozesse des restlichen systems miteinrechnen - die werden ja genauso vom OS "intelligent" auf die cores verteilt.

grob gesagt:
HT führt das threadscheduling auf hardwarebasis halt effizienter aus und nimmt somit CPU-Zyklen ab, die sonst vom OS scheduler übernommen werden müssen.

und übrigends teilt das HT nicht einfach die z.B. 4 cores in 8 auf und man hätte dann nur noch maximal die hälfte an performance für einen thread - das ist falsch (obwohl das so aussehen kann im taskmanager)
wenn sagen wir mal mit HT on, 4 threads vollauslastung erzeugen würden, in einem system mit quadcore (also 8HT kerne) dann würden diese 4 threads trotzdem den prozessor insgesamt 100% auslasten und nicht nur 50% wie man annehmen würde, wenn man in den taskmanager schaut und nur 4 cores der 8 ausgelastet sind.
 
Es geht letzten Endes um die effktive Ausnutzung von Prozessorkernen, damit wertvolle CPU Resourcen nicht brach liegen.

Hier ist HT ganz gut und ausführlich erklärt:
http://www.computerbase.de/2002-11/bericht-was-ist-hyper-threading/

1_m.png


Bei HT sind ein paar CPU Resourcen eines Kerns parallel ausgelegt, damit es überhaupt zu einer Parallelisierung kommen kann. Danach werden jedoch verschiedene Resourcen eines Kerns zwischen den beiden Threads geteilt.

Durch verschiedene Mechanismen Vorsortierung etc sorgt man dafür, dass die entsprechenden Resourcen eines Kerns zwischen den 2 threads optimal aufgeteilt werden und möglichst immer am "schaffen sind". Das geht mal mehr und mal weniger gut.

Priorisierte Dinge wie Interruptverarbeitung von Treibern stören natürlich auch die Abarbeitung von kleineren Programmteilen, denn sie haben Priorität. Ist ein Treiber schlecht geschrieben, dann gibt er die Resource nicht schnell genug frei, damit auch andere mal dran können. Solche Dinge checked man dann übrigens mit LatencyMon ab (kernel Latenz).

Darum deaktiviert man auch gerne nicht benötigte Hardware auf einem Mainboard (serielle, parallele Ports, Firewire, eingebauter Sound chip) ..

Darum tuned man Windows, damit beim Recording die CPU resourcen möglichst fürs Recorden bereitstehen und nicht irgendwelche Prozesse aus der Aufgabenverwaltung automatisch reingrätschen.

Je mehr Kerne / Threads man hat, desto besser kann der Betriebssystem Prozesse und Threads auf mehrere CPUen (bei dual CPU systemen) und Kernen/Threads aufteilen. Dann ist die Wahrscheinlichkeit, dass ein Programmfragment auf ein anderes warten muss sehr gering.

Je mehr Kerne und Threads eine CPU jedoch hat, desto geringer ist die Taktfrequenz, dass heisst, einzelne threads werden dann doch etwas langsamer abgearbeitet, dafür aber mehr davon.

Ist Deine Applikation multithreaded geschrieben, dann kann sie von vielen parallelen threads - auch wenn der Takt dann nicht mehr so hoch ist - profitieren.

Darum habe ich mir einen 6-kerner geholt, der neben 6kernen/12threads mit 3.5/3.8 GHz noch eine beachtliche Single Thread performance hinlegt für Applikationen, die nicht so gut gethreaded sind.

Ich würde mal schätzen dass Hyperthreading Pi mal Daumen einen Leistungszuwachs von 80% ergibt.

Dann nochwas wegen Turbo Takt .. das spielt ja hier alles irgendwie zusammen. Der Turbo Takt kann nach Spezifikation auch nur erreicht werden, wenn eine bestimmte Anzahl von Kernen / Threads voll geparkt ist (ich glaube im state C3). Ist das nicht der Fall, dann kann ein einzelner Thread uU nicht mit voller Turbo Boost Frequenz abgearbeitet werden. Es begrenzt dann immer das Rechner BIOS, da muss sichergestellt werden, dass der für die CPU angegebene TDP Wert nicht überschritten wird.

Witzig, wieviel voneinander abhängt und unter Windows 8 wird man als User bald nur noch auf Kachelklicken reduziert ;)
 
unter Windows 8 wird man als User bald nur noch auf Kachelklicken reduziert

So langsam wird mir Win8 sympathisch :)
Ich will schliesslich Musik machen und nicht vor jedem neuen Plugin drüber nachdenken, ob ich jetzt besser erst Hyper dies oder Hyper jenes einschalte.

Kann man das am Mac überhaupt?

Clemens
 
lol, der Clemens ;)

Ich muss mich halt von Berufswegen mit solchen Themen hin und wieder auch mal rumschlagen und Schuld ist eigentlich nur mein altes Mainboard, dass ich überhaupt in die "Rechner für Audio Tunen" Thematik einsteigen mußte.

Ansonsten würde ich mich eigentlich auch eher freuen, wenn Dinge einfach funktionieren würden.

Manchmal hilfts aber auch wenn man in etwa weiß, wie die Dinge zusammenhängen.
 
Bezieht ihr das nur auf Recording oder generell ?

Die Aussage verwundert mich, weil bei mir je nach Applikation alle Threads gut ausgelastet sind.

Vielleicht liegt das aber auch daran, dass ich bei meinem Windows u.a. das CPU core parking deaktiviert habe und nur auf Höchstleistung betreibe.

Mir fallen 4 Applikationen ein, bei denen mein 6-kerner gleichmäßig ausgelastet ist und alle Threads am werkeln sind

- Sony Vegas (Videobearbeitung) ca 65-70% CPU Last, weil die GPU mitrechnet (Cuda).
Ohne Mitverwendung der GTX 980 ist die CPU Last höher.
- Star Citizen (Spiel)
- Music Bee beim Umformatieren von .flac nach .mp3 (nahezu 100% CPU last)
- Acronis True Image Backup, alle threads gleichmäßig am arbeiten, aber insgesamt moderat geringe CPU Last (klar, da wartet die CPU eher auf I/O würde ich sagen.

Und mit 100% meine ich, dass alle Kerne+Threads Voll-Last haben.

Bei Cubase ist die Lastverteilung auf die Kerne/Threads sehr unterschiedlich. Die höchste Last habe ich beim Downmix. Dabei unterscheidet sich das Lastverhalten auf den einzelnen Kernen / Threads sehr.

Man kann die Auslastung der CPU mit folgender Mini App sehr gut beobachten.
http://orbmu2k.de/category/sidebar-gadgets
Die sind nicht so überladen.

Meine Empfehlung: Intel Core Series, GPU Observer, Network Traffic, Power Status

Ich korrigiere meine Aussage nochmal dahingehend, dass man je nach Applikation mit HT eine Menge rausholen kann und die CPU besser utilizen kann. Bei Cubase ist dies sehr schwankend und Cubase holt momentan nicht so viel aus mehreren Kernen raus, je nach dem mit welchen VSTs / Plugins man arbeitet. Das mal auszutesten oder genauer zu beobachten fehlt mir die Zeit und Lust.

Generell finde ich ist HT eine tolle Sache. Ich habe nicht den Eindruck dass HT den Rechner in irgendeiner Weise ausbremst, eher im Gegenteil. Aber vielleicht finden sich auch Applikationen, wo ein Programm vorwiegend flowting point oder so macht, diese Unit ist nur einmalig als Resource pro Kern vorhanden, da wird ein 2. Thread keine Effizienz Gewinne erzielen.

Wurde das Thema eigentlich auch von DAW Bench untersucht oder worauf bezogst Du Dich ??
 
Bezieht ihr das nur auf Recording oder generell?
generell

Die Aussage verwundert mich, weil bei mir je nach Applikation alle Threads gut ausgelastet sind.

ja und?

sagt ja noch nichts aus



Bei Cubase ist die Lastverteilung auf die Kerne/Threads sehr unterschiedlich

ja und? es geht nicht um lastverteilung sondern um den unterschied HT on / HT off und der resultierenden arbeit, die die cpu parallel im jeweiligen fall verrichten kann


Und mit 100% meine ich, dass alle Kerne+Threads Voll-Last haben.

und ein bestimmter bestandteil kernelzeit

der vielleicht weniger wird, wenn die CPU hardware für das scheduling zur unterstützung bietet

somit müsste die "nutzbare" cpuzeit größer ausfallen wenn HT da unterstützt - ist aber jetzt nur mal ein ansatz von mir

Ich korrigiere meine Aussage nochmal dahingehend, dass man je nach Applikation mit HT eine Menge rausholen kann und die CPU besser utilizen kann

jep - eher 10-20% bereich, aber nicht 80%


Cubase holt momentan nicht so viel aus mehreren Kernen raus

eigentlich sieht man schön, wie das ganz gut skaliert.. diverse dawbenches zeigen dies deutlich. nichtparallelisierbare audiopfade profitieren dahingehend natürlich nicht - und durch die geringere singlethreadleistung sogar eher nachteilig.. weshalb auch ich noch ein hochgezüchteten quadcore besitze.. und nicht einen octa



Generell finde ich ist HT eine tolle Sache. Ich habe nicht den Eindruck dass HT den Rechner in irgendeiner Weise ausbremst, eher im Gegenteil

sehe ich auch so.. gibts eigentlich keinen grund eine größere diskussion loszutreten :p

fakt ist, es hilft.. wieviel kann jeder selbst herausfinden.. aber nicht anhand der taskmanagerauslastung, sondern am besten austesten, wieviele plugins berechenbar sind, bis die asio auslastung rot wird - einmal mit und einmal ohne HT

Aber vielleicht finden sich auch Applikationen, wo ein Programm vorwiegend flowting point oder so macht

nun.. die meisten daws und plugins arbeiten nur noch mit floatingpoint
wie gut sich HT auswirkt hängt von hunderten faktoren ab.. der größte ist das programm selbst. ich kann da ein wenig aus dem nähkästchen plaudern, da ich schon einige jahre multithreading applikationen programmiere =)

hier noch ein beispiel wo einer BF4 abgechecked hat
http://www.overclock.net/t/1480050/...-off-win8-1-vs-win7-new-nvidia-337-50-drivers
 
Ansonsten würde ich mich eigentlich auch eher freuen, wenn Dinge einfach funktionieren würden.

Ich sag' jetzt nicht was ich mir dazu denke - aber zwei Hinweise:
- das Problem an sich wurde hier schon gelöst
- wir sind im Logic-Unterforum

Clemens
 

Ähnliche Themen

nogravity
Antworten
7
Aufrufe
1K
nogravity
nogravity
SouthsideB
Antworten
5
Aufrufe
2K
Hitman
H
D
Antworten
19
Aufrufe
1K
DavidMartini
D
Bernd_Burns
Antworten
18
Aufrufe
10K
ThomThom
ThomThom
stefangeidel
Antworten
35
Aufrufe
6K
stefangeidel
stefangeidel

Oft gelesene Themen

Zurück
Oben