Die Powershell von Windows startet für jedes eingegebene Kommando einen eigenen Thread, was jeweils extra Speicher kostet, aber auch für etwas mehr Stabilität und Skalierbarkeit sorgt. Das ist also eigentlich auch gut so. Auf Systemen wo der RAM Speicher aber knapp ist, will man aufwendige Scripts vielleicht etwas RAM schonender ausführen. Dazu sollten Sie in die erste Zeile Ihres ps1 Scriptes folgenden Befehl schreiben: $Host.Runspace.ThreadOptions="ReuseThread"
Selbstverständlich können Sie den Befehl auch direkt in der Powershell eintippen, um bei nachfolgenden Befehlen immer wieder denselben Thread zu nutzen.
Eine weitere Möglichkeit den RAM-Speicher zu schonen ist nicht mehr benötigte Variablen wieder frei zugeben. Hat man also Beispielsweise eine Variable $Variable="blabla" erstellt und benötigt diese nicht mehr, dann löscht man nur den Inhalt der Variablen, wenn Sie $Variable="" eintragen. Der Speicher und die Variable an sich bleiben aber weiterhin erhalten. Erst ein rv Variable (dieses Mal ohne $ Zeichen!) gibt den Namen der Variablen und den Speicherplatz wieder frei.
Schreibe einen Kommentar