Jump to content

Archmage2

Members
  • Gesamte Inhalte

    6
  • Registriert seit

  • Letzter Besuch

Fortschritt von Archmage2

Apprentice

Apprentice (3/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

0

Reputation in der Community

  1. Richtig, und ich wäre dankbar, wenn jemand tatsächlich versuchen würde, mir dabei zu helfen... Auf der einen Seite hast Du recht. Auf der anderen Seite habe ich aber die Erfahrung gemacht, dass wenn ich zu viel Hintergrundinformation preisgebe, die Gefahr extrem groß ist, dass nur noch darüber diskutiert wird, ich mich nur noch rechtfertigen muss, weshalb ich die Frage stelle, die ich stelle, und irgendwann der Thread so viele inhaltsleere Antworten hat, dass weitere Forenteilnehmer sich angesichts des bereits hohen Antwortcounts gar nicht mehr die Mühe machen hineinzuschauen. Leider ist dieser Thread hier auf dem besten Wege, das gleiche Schicksal zu erleiden... Aber gut, spielen wir das Spiel nach Deinen Regeln und schauen wir, ob es so endet wie von mir befürchtet. Konkret geht es mir um den Prozess audiodg.exe, bei dem es sich um den Dienst "Windows Audio Endpoint Builder" (jedenfalls bei einem englischsprachigen Windows 7) handelt. Ich betreibe häufiger Anwendungen mit Soundausgabe, die von ihrer Programmierung her nicht alle 4 Kerne meiner Haswell-CPU auslasten können. Nun hat aber Windows in solchen Fällen die unselige Angewohnheit, solche Anwendungen in Windeseile von Kern zu Kern rotieren zu lassen in dem verzweifelten Versuch, alle Kerne gleichmäßig auszulasten. Klappt natürlich nicht, da die Anwendung nicht hinreichend parallelisierend programmiert ist. Also nimmt sie die gesamte Rechenlast jeweils auf den nächsten Kern mit usw. In der Konsequenz wird verhindert, dass einzelnen Kerne der CPU in die tiefen Ruhezustände wechseln können, wo sie so gut wie keinen Strom mehr verbrauchen bzw. ganz abgeschaltet werden (Stichwort Intel PowerGate-Technologie). Meines Wissen hat auch Microsoft - nach Jahren - diese schon zu NT 4.0-Zeiten existierende Schwäche eingestanden und, wenn ich das richtig mitgekriegt habe, bei Windows 8.1 eine pfiffigere Kernbelegungsstrategie implementiert. Unter Windows 7 kann ich diesen Effekt weitgehend verhindern, indem ich diese Anwendungen von der Affinität her auf nur so viele Kerne beschränke, wie sie tatsächlich nutzen können. Daneben gibt es aber auch noch jenen zu Windows gehörenden Dienst audiodg.exe. Als hardwarenaher Dienst muss er unter dem Local Service-Account laufen, sonst funktioniert er nicht richtig. Dabei erzeugt er CPU-Auslastungen im unteren zweistelligen Bereich. Das ist zu wenig, um einen Kern ordentlich auszulasten, aber genug, um den Rotationsmechanismus zu triggern und damit die wirksamsten CPU-Schlafzustände zu verhindern. Die Rechenlast von audiodg.exe ist meines Erachtens nicht so groß, dass ich wahrnehmbare Auswirkungen hätte, wenn ich den Dienst mit auf die Kerne zwinge, auf die ich die Hauptanwendungen beschränke. Dann würden die übrigen Kerne praktisch völlig brachliegen (da alles übrige, was zu Windows gehört, normalerweise schläft bzw. Kernlasten unter 1% erzeugt). Windows würde dann für diese Kerne die hohen Schlafzustände nutzen. Ich hätte ohne wahrnehmbare Performancenachteile einen verringerten Stromverbrauch und weniger Wärmeentwicklung. (Ganz nebenbei gibt es doch auch noch einen kleinen Performancegewinn, wenn nicht rotiert wird, weil nämlich die Chance auf Cache Hits steigt, wenn die Anwendung auf demselben Kern bleibt.) Dazu müsste es mir aber gelingen, die Prozessoraffinität von audiodg.exe einzuschränken. Dies ist ein Problem, weil audiodg.exe unter Local Service-Account läuft und vom Administratoraccount nicht verändert werden darf.
  2. @ Daniel & neuenfeldt: Wenn ihr eine technische Frage in einem Forum posten würdet, und dann käme jemand und würde euch antworten: "Das solltest Du gar nicht fragen, das macht man nämlich nicht so, und deswegen verrate ich Dir auch die Antwort nicht, obwohl ich Dir eigentlich helfen könnte" - wir würdet ihr euch da fühlen? Würdet ihr da sagen, korrekte Antwort, recht hat der Mann? Vielen Dank, aber das trifft das Problem leider nicht ganz. Wie man normalerweise die Affinität eines Prozesses ändert, weiß ich. Wenn es sich aber um einen Prozess handelt, der unter dem Account "Local Service" läuft, dann hat noch nicht mal ein Administratoraccount die Berechtigung, an diesem Prozess irgend etwas zu machen. Dementsprechend weist z.B. der Task Manager den Versuch als unautorisiert zurück. Ich bin der Meinung, vor längerer Zeit mal eine Anleitung gelesen zu haben, wie man irgendwie durch Anlage einer Sicherheitspolicy Administratorkonten ermächtigen kann, auf Prozesse des Local Service zuzugreifen. Ich finde die Stelle aber nicht wieder.
  3. Was willst Du damit sagen? Dass Du es für Deine Verantwortung hältst, mich vor meiner eigenen Dummheit zu schützen und deswegen die Antwort nicht verrätst, obwohl Du zumindest eine Idee hast, wo sie zu finden sein könnte? Arroganter geht's nimmer. Bemerkung am Rande: Es geht nicht um Performance. Auf Details gehe ich aber bewusst nicht ein, sonst wird hier nur darüber diskutiert und nicht über die Antwort auf meine Frage. Wenn ich eine Antwort habe, die funktioniert, können wir gerne auch über das andere reden.
  4. Hallo allerseits, ich würde gerne wissen, wie ich die CPU Affinity eines Dienstes festlegen kann, der unter dem Local System Account läuft. Noch nicht einmal als Administrator habe ich die Berechtigung, solche Prozesse zu beeinflussen (im Task Manager oder mit anderen Mitteln). Der Dienst muss aber unter Local System Account laufen, sonst funktioniert er nicht. Das steinalte Tool imagecfg.exe aus dem Windows 2000 Resource Kit ist zu alt und funktioniert nicht mehr. Ich wäre dankbar, wenn dieser Thread nicht dazu missbraucht werden würde, die Sinnhaftigkeit meines Wunsches zu diskutieren und ihn damit off-topic zu führen, sondern wenn nur Lösungsvorschläge kommen würden. Vielen Dank!
  5. Dazu aus meinem obenstehenden Originaltext: Läuft Dein "älteres Notebook" auch schon unter Windows 7? Wobei Excel 2013 vielleicht kein so gutes Beispiel ist, zum einen weil der Splash-Screen ja noch nicht den Start des Hauptprogrammes bedeutet und das Hauptprogramm selbst so umfangreich ist, dass man hier eine gewissne Startzeit zugestehen kann, zum anderen, weil Microsoft für sein Office ja so eine "Schnellstart"-Funktionalität zu nutzen pflegt, durch die schon beim Start von Windows bestimmte Elemente in den Hauptspeicher geladen werden. Wäre mal interessant, wie Dein Notebook sich beim Start von Firefox verhält. (kannst ja die portable Version ausprobieren, wenn Du ihn nicht installieren magst). Mir fällt es halt bei Courier/Calypso besonders auf, denn logischerweise starte ich mein Email-Programm immer gleich nach dem Systemstart (aber erst, wenn Windows sich beruhigt hat), und dieses Programm ist wirklich noch von Adolfs Zeiten, dementsprechend klein und lief auf den damaligen Möhren schon schnell. Das sollte ein heutiger PC in Nullzeit packen, trotz des Mailarchivs, das beim Programmstart mitgeöffnet wird, dessen Größe ich aber überschaubar halte und das im übrigen von der SSD kommt. Klar, ich warte nur eine oder zwei Sekunden, das ist nicht viel, aber ich wundere mich dennoch.
  6. Hallo allerseits, ich wollte mal fragen, warum viele selbst kleine Programme mit lächerlicher Größe in Windows so lange brauchen um zu starten. Beispielsweise verwende ich ein uraltes Email-Programm namens Courier (hieß früher Calypso). Das stammt noch aus Zeiten des Pentium 100 und war damals schon ein recht schnelles Programm. Aber auch mit meinem heutigen PC dauert es immer noch zwei Sekunden oder so, bis es startet?! An meiner Hardware liegt es ganz sicher nicht (Programm startet von schneller SSD; Rechner hat 16 GB Hauptspeicher, keinen Virenscanner (ist dennoch virenfrei, glaubt mir!) und einen Phenom II-Prozessor. Ich glaube nicht, dass Courier versucht, beim Start irgendwelche Netzwerkverbindungen aufzubauen und auf Antworten wartet. Das traue ich diesem alten Programm nicht zu. Außerdem beobachte ich dasselbe auch mit anderer Software. Firefox zum Beispiel. Es ist fast egal, ob man dieselbe Version des Firefox auf einer uralten Gurke oder auf einem modernen PC startet. Es dauert immer einen Moment, bis er aufgeht. Klar, diese Zeit kann durch installierte Plugins verlängert werden, aber auch nach Frischinstallation geht Firefox nicht schlagartig auf. Eigentlich würde ich das auf modernen Maschinen aber erwarten, denn das ist ja wahrhaftig kein großes Programm, und die Erweiterungen seit Version 1.0 bis heute haben Firefox nicht mal annähernd in dem Maße aufgebläht, wie die übliche Hardware in all den Jahren an Leistung zugelegt hat. Die paar Megabytes in den Speicher zu laden und zu starten sollte eine Sache weniger Millisekunden sein (erst recht von SSD). Ich könnte noch andere Uraltsoftware nennen, die mit Sicherheit keine Netzwerkverbindungen aufbaut, die auf sehr alten PCs schon gut lief und die dennoch auch auf modernster Hardware noch einen Moment für den Start benötigt. Deswegen glaube ich, dass Windows selbst den Start von Programmen irgendwie verzögert und da noch irgendwas veranstaltet. Praktisch das einzige Programm, das mir einfällt und das tatsächlich absolut verzögerungsfrei startet, ist der windowseigene Notepad. Bei dem geht es also. Ist das deshalb so, weil er von Microsoft ist? Spielen da irgendwelche Zertifizierungen eine Rolle? Ich wäre dankbar, wenn jemand etwas Licht auf diesen Sachverhalt werfen könnte.
×
×
  • Neu erstellen...