Nie wiem, czy to naprawdę odpowiada na to pytanie, ale próbowałem różnych Start-Job
poleceń, które właśnie stworzonych zakres od 1 do dużą liczbę - najbardziej dał Spośród wyjątkiem pamięci, ale w końcu jeden do pracy do ukończenia:
# these all bombed out
Start-Job -ScriptBlock { 1..4000000000 }
Start-Job -ScriptBlock { 1..2000000000 }
Start-Job -ScriptBlock { 1..1000000000 }
# this one finally started evaluating
Start-Job -ScriptBlock { 1..100000000 }
Pozwoliłem, aby działał przez chwilę i zjadł jeden pełny rdzeń procesora podczas oceny zasięgu. Kończyło to używanie około 5 GB pamięci RAM zgodnie z Menedżerem zadań i wykorzystywałoby więcej, ale w tym momencie zaczynało brakować pamięci fizycznej. Zużycie procesora spadło, ponieważ system operacyjny musiał uruchamiać pamięć stronicowania jak szalony.
Jak widać na poniższym zrzucie ekranu, w rzeczywistości powstał kolejny proces powershell.exe - więc domyślam się, że częściowo odpowiada na pytanie, gdzie przechowuje dane podczas pracy. Wydaje się, że istnieje praktyczny limit, który zależy od dostępnych zasobów. PowerShell nie będzie czyścił ani w inny sposób tracił informacji w buforze zadań (chyba że drugi proces ulegnie awarii?), Ale może być problematyczne pobieranie zbyt dużej ilości danych. Możesz wykonać kilka próbnych testów i sprawdzić, jakie dopuszczalne i praktyczne ograniczenia mogą być obsługiwane przez twoje środowisko.
Uwaga: używanie znacznie mniejszego zakresu, np. 1.0000000, zapewnia więcej niż wystarczającą ilość zapisów do obserwacji zachowania, ale nie całkowicie przytłacza system. Użyłem większych liczb, aby zobaczyć, jakie są praktyczne ograniczenia.
Dziękuję za odpowiedź. Domyślam się, że nadal nie jestem w 100% jednoznaczny, co robi PowerShell z zawieszonymi przepływami pracy (które są nieco inne niż zwykłe zadania, które myślę). Ponieważ mogą one przetrwać ponowne uruchomienie komputera i zostać wznowione, muszą również utrzymywać kolejkę zadań wyjściowych. Ale wygląda na to, że nie ma prawdziwego górnego ograniczenia poza ograniczeniami pamięci/procesu. Dziękuję za twój wkład. – Josh