Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang (https://www.delphipraxis.net/193873-hohe-cpu-auslastung-von-explorer-exe-beim-compile-vorgang.html)

Aviator 18. Sep 2017 13:40

Betriebssystem: Win 7,Win 10

Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Delphianer,

ich habe seit einiger Zeit (wie lange kann ich nicht genau sagen) ein Problem, dass mich langsam tierisch nervt. :|

Ich habe per VMWare Workstation ein Windows 10 virtualisiert. Ursprünglich war es mal eine Windows 8.1 Installation, die beim Upgrade Angebot auf Windows 10 hochgezogen wurde.

Das Problem, das ich mit dem System habe ist, dass beim Compilieren die CPU Auslastung und auch der Zugriff auf die (virtuelle) Festplatte extrem ansteigt und hierdurch meiner Meinung nach der Compile Vorgang zum einen gefühlt ewig dauert, zum Anderen aber auch Windows generell langsam reagiert.

Das Problem besteht also nicht nur beim Compilieren, sondern auch beim Kopieren oder Löschen von Dateien. Der Explorer braucht dann ewig um zu aktualisieren. Generell liegt das Problem also beim Explorer und nicht bei Delphi. Es fällt mir nur eben dort so stark auf, da ich auf dem System eigentlich nur Programmiere und sonst nichts anderes mache.

Ich habe mal versucht, mit dem Process Monitor da etwas herauszufinden. Allerdings bin ich damit nicht ganz so begabt als andere Nutzer hier im Forum. Was mit allerdings auffällt ist, dass in kurzer Zeit sehr viele Registry Zugriffe getätigt werden.

Ich habe (ja der Vergleich ist denkbar ungünstig, aber leider nicht anders machbar) ein anderes Projekt auf der Hostmaschine mit Windows 7 Professional compiliert. Dort habe ich einen Bruchteil der Registry- und Dateizugriffe in ca. der gleichen Zeit.

Der Compile-Vorgang beidem Projekt mit Windows 7 dauert etwa 3 Sekunden. Bei der Projektgruppe auf Windows 10 mit dem anderen Projekt etwa 25 Sekunden (wobei ich denke, dass das schneller gehen würde). Den Compile-Vorgang (bzw. das Protokoll vom Process Monitor) habe ich etwa nach der gleichen Zeit - 3 Sekunden - unterbrochen. Die Ergebnisse sind wie folgt.

Bei Windows 7: 303 Registry Zugriffe
Bei Windows 10: 62176 Registry Zugriffe


Ich habe mal noch drei Bilder der Übersicht angehängt. Einmal auf Windows 7 und einmal auf Windows 10. Und zusätzlich noch den Taskmanager von Windows 10 beim Compile-Vorgang.


Ich hoffe mir kann jemand einen Tipp geben, wie ich zu einer Lösung komme damit das Problem nicht mehr auftritt. Ich kenne mich zwar ziemlich gut mit Windows aus, aber bei diesem Problem bin ich etwas ratlos. Die vielen Tipps die so im Internet umherschwirren haben mich leider auch nicht wirklich weitergebracht.

Wenn ihr noch Informationen zum System oder ähnlichem braucht, dann gebe ich die natürlich gerne raus.

jaenicke 18. Sep 2017 14:06

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Das wird wohl eine Shellerweiterung sein, die Benachrichtigungen über Änderungen im Dateisystem bekommt...
Genaueres lässt sich ohne das Process Monitor Log oder zumindest Details was da drin steht aber nicht sagen.

Aviator 18. Sep 2017 14:09

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Wie bekomme ich das denn heraus. Oder wo finde ich solche Informationen die du benötigst?

bra 18. Sep 2017 14:31

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Oder ein Virenscanner. Den mal testweise abschalten.

Aviator 18. Sep 2017 14:34

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Zitat:

Zitat von bra (Beitrag 1381476)
Oder ein Virenscanner. Den mal testweise abschalten.

Außer dem Microsoft Defender ist kein Virenscanner aktiv, da der Rechner zu 98% nur zum Programmieren gedacht ist. Die restlichen 2 Prozent sind MSDN, DP und die CnWizard Seite wenn mal eine neue Version released wird.

Um den zu deaktivieren müsste ich ja wahrscheinlich den gesamten Dienst stoppen. Alleine den Haken bei Echtzeitschutz zu entfernen wird ja wahrscheinlich nichts bringen denke ich, oder?

EDIT: Also den Schalter bei Echtzeitschutz habe ich gerade mal deaktiviert. Gleiches Problem wie vorher.

Glados 18. Sep 2017 14:41

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Zitat:

Außer dem Microsoft Defender ist kein Virenscanner aktiv, da der Rechner zu 98% nur zum Programmieren gedacht ist.
Ich sehe in der Prozessliste noch etwas, das aussieht wie der Malwarebytes Antimalware-Service.

Aviator 18. Sep 2017 14:47

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Liste der Anhänge anzeigen (Anzahl: 1)
Du meinst sicherlich den Prozess Antimalware Service Executable. Das ist ein Teil des Windows Defenders (s. Bild). :wink:

Glados 18. Sep 2017 14:49

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Ok das wusste ich nicht, da ich kein Windows 10 nutze.
Aber ich finde der ist auch nicht ganz schlecht im Rennen was den Verbrauch angeht.

t.roller 18. Sep 2017 15:49

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Vielleicht bist Du so ein Monitoring-Fanatiker, der sich selbst ein Bein stellt.
Was glaubst Du, woher alle diese Messdaten herkommen?
Fallen die vom Himmel?
Nein, wo im System etwas gemessen wird, wird CPU-Leistung, RAM, HDD-Leistung etc. verbraucht. Das fehlt dann anderswo! Mal nachdenken...!

Vielleicht hatte WINDOWS noch nie Gelegenheit, das ganze System
(in Ruhe!) zu scannen, um ein CLEANUP zu machen, um ein WindowsBackup zu machen, um ein MeasuredBoot zu machen, um SuperFetch einzurichten - denn der USER funkt offensichtlich immer dazwischen.
Lass mal den WINDOWS-Defender das System VOLLSTÄNDIG scannen - am besten über Nacht.
Übrigens: Ein neues WINDOWS braucht mindestens 3 Neu-Starts, bevor es stabil läuft.

Rollo62 18. Sep 2017 15:54

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Ich weiss nicht ob dir das hier für VmWare Fusion weiterhilft, aber speziell
mit VmWare habe ich ähnliches gesehen:
https://www.vmguru.com/2017/02/how-t...re-fusion-8-x/
https://communities.vmware.com/message/2564756#2564756
file:///U:/__Dev/_Software/_Programm...mmunities4.htm
file:///U:/__Dev/_Software/_Programm...ommunities.htm
https://kb.vmware.com/selfservice/mi...00%20496944562

Seit Win10 ist auch bei mir größtenteils der Wurm drin, aber zurück auf Win8.1 möchte ich auch nicht.

Ich habe bei fast 0% Win10 Last am Gast rund 100-300% OSX Last im Host (ja sowas wie 200% gibt es bei OSX).


Richtig geholfen hat mir da aber noch nichts, ich spiele mit dem Gedanken mal Parallels auszuprobieren.

Es gibt genug CPU & Speicher, habe es mit mehr und weniger probiert, macht kaum einen Unterschied.
Auch alls Tips zur Bereinigung von VmWare habe ich schon durch.

Rollo

Der schöne Günther 18. Sep 2017 16:02

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Ich hätte auch, nur rein vom Gefühl her, auf irgendetwas zusätzlich installierte, tief ins System geschraubte getippt. Bei Shell-Erweiterungen wie TortoiseGit/TortoiseSVN/TortoiseHG mal testweise die Overlays abschalten? Mal einen anderen Benutzer ausprobiert?

Aviator 18. Sep 2017 16:23

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Zitat:

Zitat von t.roller (Beitrag 1381503)
Vielleicht bist Du so ein Monitoring-Fanatiker, der sich selbst ein Bein stellt.
Was glaubst Du, woher alle diese Messdaten herkommen?
Fallen die vom Himmel?
Nein, wo im System etwas gemessen wird, wird CPU-Leistung, RAM, HDD-Leistung etc. verbraucht. Das fehlt dann anderswo! Mal nachdenken...!

[...]

Warum gleich so aggressiv? :shock:

Das System ist schon längere Zeit installiert. Die besagten 3 Neustarts sind schon bei weitem erreicht. Wie gesagt, das System wurde bei der Upgrade Aktion von Microsoft auf Windows 10 hochgezogen. Und die ist soweit ich weiß schon 2 Jahre her.

Ein Monitoring Fanatiker bin ich sicherlich nicht. Ich merke schon wenn ein System flüssig oder eben nicht flüssig läuft. Und wenn ich da etwas merke, dann warte ich mal noch die nächsten Windows Updates ab und wenn dann noch etwas ist was mich stört, dann forsche ich etwas tiefer. Aber ich lasse sicherlich nicht dauerhaft irgendwelche Tools mitlaufen die irgendetwas protokollieren. Dieses Verhalten legt mein System ja schon seit längeren (bestimmt 3 Monate) an den Tag.

Aber das die CPU Auslastung bei irgendwelchen Explorer Aktivitäten so dermaßen in die Höhe schnellt ist sicherlich nicht normal. Auf allen meinen anderen Systemen habe ich das Phänomen ja auch nicht.



Zitat:

Zitat von Der schöne Günther (Beitrag 1381505)
Ich hätte auch, nur rein vom Gefühl her, auf irgendetwas zusätzlich installierte, tief ins System geschraubte getippt. Bei Shell-Erweiterungen wie TortoiseGit/TortoiseSVN/TortoiseHG mal testweise die Overlays abschalten? Mal einen anderen Benutzer ausprobiert?

Das mit dem Benutzer muss ich mal ausprobieren.

Ich hatte schon vor längerem mal diverse Shell Erweiterungen von OneDrive deaktiviert als ich nach dem Problem geforscht habe. Ich bin ja nicht direkt hier her gerannt ohne selbst mal diverse Dinge auszuprobieren. GIT-Erweiterungen sind durch die Installation von GIT auch enthalten. Allerdings werden mir die im Autoruns Programm von Microsoft nicht aufgelistet. Als GUI für GIT benutze ich SourceTree. TortoiseGIT/SVN ist bei mir nicht installiert. 7-Zip habe ich noch als Erweiterung drin. Die hat bei mir aber bisher nie (auch nicht auf Windows 10) Probleme gemacht.

bra 18. Sep 2017 16:26

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Wir haben auch Delphi in der VMWare mit Windows 10 und ich habe das eben mal getestet, beim Kompilieren zeigt ein Explorer-Fenster auch eine ständige Last von 2-5% an. Ich habe hier TortoiseSVN drauf, vielleicht ist das u.a. dafür verantwortlich.

Da ich nie den Explorer verwende, sondern nur den Total Commander, ist mir das nie aufgefallen.

Glados 18. Sep 2017 17:25

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Zitat:

Da ich nie den Explorer verwende
Kleine Zwangskorrektur: wer Windows nutzt, nutzt ganz automatisch den Explorer behaupte ich einfach mal.

Aviator 19. Sep 2017 08:45

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Zitat:

Zitat von bra (Beitrag 1381513)
Wir haben auch Delphi in der VMWare mit Windows 10 und ich habe das eben mal getestet, beim Kompilieren zeigt ein Explorer-Fenster auch eine ständige Last von 2-5% an. Ich habe hier TortoiseSVN drauf, vielleicht ist das u.a. dafür verantwortlich.

Da ich nie den Explorer verwende, sondern nur den Total Commander, ist mir das nie aufgefallen.

Also 2-5% sehe ich ja auch noch als realistisch an und entspricht auch etwa der Auslastung auf meinem Host-System (Windows 7). Aber bis zu 40% ist mir dann doch etwas hoch. Es ist ja nicht alleine die CPU Auslastung. Sondern das System reagiert allgemein zu dem Zeitpunkt etwas schlecht(er).

jaenicke 19. Sep 2017 08:57

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Zitat:

Zitat von Aviator (Beitrag 1381470)
Wie bekomme ich das denn heraus. Oder wo finde ich solche Informationen die du benötigst?

Du könntest z.B. das Process Monitor Log gezippt anhängen oder per PN schicken.

Aviator 19. Sep 2017 10:08

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Habe jetzt mal wie von Günther empfohlen einen neuen Benutzer Account angelegt und dort ein Kopiervorgang gestartet. Der Test verlief nach ersten Einschätzungen erfolgreich. Eine Auslastung zwischen 7% und 10%. Das entspricht auch in etwa dem, was mein Windows 7 Hostsystem beim Kopieren benötigt.

Zwischenzeitlich habe ich auf meinem normalen Benutzerkonto auch mal noch GIT und 7-ZIP komplett deinstalliert damit die Shell Extensions verschwinden. Allerdings hat das auch nichts gebracht. Ich versuche mal, eine Log-Datei des Process Monitors anzufertigen.

Aviator 19. Sep 2017 10:33

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Liste der Anhänge anzeigen (Anzahl: 1)
Kommando zurück. Nach einem Neustart des Systems führte ein Kopiervorgang auch bei dem anderen Benutzer zu einer hohen CPU Last des Explorers. Habe mal eine Log-Datei mit dem Process Monitor erstellt.

Ich bin so vorgegangen, dass ich den Kopiervorgang gestartet habe und dann erst auf Start beim Process Monitor um vorherige Events auszufiltern.

Zuvor habe ich noch per Registry Schalter den Windows Defender komplett deaktiviert da der scheinbar auch mal dazwischen gepfuscht hatte.


Ich hoffe mir kann jemand mit dem Protokoll helfen. Eine Neuinstallation will ich eigentlich vermeiden. :|

jaenicke 19. Sep 2017 11:26

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Der Grund ist einfach:
Du arbeitest im Ordner für Dokumente und der Ordner ist in der Liste der zu indizierenden Ordner drin.

Wenn du deine Quelltexte oder zumindest die kompilierten Dateien woanders ablegst, wirst du das Problem nicht mehr haben. Ich habe dafür z.B. eine eigene Partition.

Alternativ kannst du den Ordner Documents aus der Liste der zu indizierenden Ordner entfernen. Das geht in den Indizierungsoptionen in der Systemsteuerung.

Aviator 19. Sep 2017 11:33

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Hallo Sebastian,

ich habe auch gesehen, dass der Indexer zuschlägt. Allerdings habe ich den Projekte Ordner schon bei den Indizierungsoptionen in meinem Hauptbenutzer ausgeschlossen. Der Test hier ist auf einem anderen Benutzer gemacht. Allerdings das gleiche Bild mit der hohen Auslastung.

Ich hatte den Index Dienst (Windows Search) auch schonmal komplett deaktiviert (und das zum Test auch gerade nochmal gemacht). Allerdings bleibt das Verhalten gleich. :(

bra 19. Sep 2017 11:49

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Mal blöd gefragt: tritt das auch auf, wenn du kein Explorer-Fenster offen hast?

jaenicke 19. Sep 2017 12:05

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Dann bleibt noch die Windows.storage.dll übrig, die an beidem (Indizierung und die Zugriffe durch die explorer.exe) beteiligt ist. Deshalb hatte ich vermutet, dass eventuell beides mit der Indizierung zusammenhängt.
Der einzige gemeinsame Nenner bleibt dann der Treiber für den Zugriff auf die Festplatte.

Du könntest einmal versuchen, ob dir der Treiber von Intel weiterhilft, wenn du Intel Hardware benutzt:
https://downloadcenter.intel.com/pro...ogy-Intel-RST-

Aviator 19. Sep 2017 12:25

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Zitat:

Zitat von bra (Beitrag 1381584)
Mal blöd gefragt: tritt das auch auf, wenn du kein Explorer-Fenster offen hast?

Die Frage ist eigentlich gar nicht so blöd. Weil wenn der Explorer geschlossen ist, dann passiert es wirklich nicht. Ich meine sogar, dass ich das schonmal herausgefunden hatte. Allerdings habe ich da auch nicht mehr daran gedacht. Wenn ich beim Compilieren ein Explorer öffne (ich lande standardmäßig auf der Seite "Dieser PC") dann passiert auch noch nichts. Wenn ich dann aber in eine von mir angelegte Bibliothek klicke (die nur ein Verweis auf den Embarcadero\Projekte Ordner ist), dann geht die CPU Auslastung nach oben (15%). Wenn ich dann in den Ordner weiter navigiere in dem mein Projekt bzw. meine Projektgruppe gespeichert ist, dann steigt sie noch weiter (>30%).

Zitat:

Zitat von jaenicke (Beitrag 1381588)
Der einzige gemeinsame Nenner bleibt dann der Treiber für den Zugriff auf die Festplatte.

Da ich eine VM mit VMWare Workstation nutze wären das dann ja wahrscheinlich die VMWare Tools, oder? Oder denkst du, dass der Host Treiber da schon ein Problem hat und die Zugriffe aus der virtuellen Maschine direkt durchgeleitet werden?

Aviator 9. Nov 2017 15:35

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Kurze Info hierzu: Nach dem Update des Systems auf Windows 10 1709 (vorher Windows 10 1703) tritt der Fehler nicht mehr auf. Scheinbar wurde durch die Upgrade-Installation im System etwas zurechtgerückt.

Kompilieren geht jetzt auch wieder schneller auch wenn das Explorer Fenster in dem Pfad der Ausgabedatei(en) geöffnet ist.

Redeemer 9. Nov 2017 19:23

AW: Hohe CPU Auslastung von Explorer.exe beim Compile-Vorgang
 
Keine Ahnung, ob das dir helfen könnte, aber wenn man den Dienst "Anwendungserfahrung" beendet, verhindert als völlig logische Konsequenz explorer.exe, dass man EXE-Dateien häufiger als alle zwei Minuten zum Schreiben öffnet. Kannst ja mal gucken, ob der bei dir läuft, falls du nochmal das Problem hast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz