Git bash (sh.exe) benötigt ansonsten wenig Speicher, aber wenn es mit dem start sh.exe
Befehl von CMD gestartet wird , erstellt es einen conhost.exe-Prozess, der 3-700 MB Speicher benötigt.
Interessanterweise start cmd /k sh.exe
macht es dasselbe, aber es erzeugt einen Conhost-Prozess, der nur 8 MB benötigt.
Warum erzeugt das Starten von sh.exe mit dem Befehl "start" einen Conhost-Prozess, der so viel mehr Speicher benötigt?
start cmd sh.exe
anstelle vonstart sh.exe
). Meine Frage ist warum der Unterschied überhaupt? Warum conhost Schwein so viel mehr Speicher (auch nur virtuell) , wenn dabeistart sh.exe
zu tun im Vergleichstart cmd /c sh.exe
Antworten:
ok, ich habe mir beide Traces mit WPA.exe angesehen . In dem Trace, der die hohe Speichernutzung anzeigt, stammt die Speichernutzung aus der Erstellung des Bildschirmpuffers
DoCreateScreenBuffer
:Der
start cmd /k sh.exe
eine macht diese Speicherbelegung nicht. Hier werden nur einige Zeichen gedruckt, die nur 69kB benötigen.Aber ich habe keine Ahnung, warum das passiert. Führen Sie es immer mit start cmd / k aus.
quelle
start sh.exe
auf gesunde Werte angewendet , aber auf Werte gesenkt wurde, die mit weniger Speicherbedarf erstellt wurden. Verdammt! lol. Danke für die Analyse!