Powershell не освобождает память - PullRequest
2 голосов
/ 09 ноября 2010

При запуске этого скрипта из Powershell или Batch: найдите и замените символы в Windows XP (Powershell 1.0), все идет хорошо. Но после того, как сценарий прекратил обработку текстового файла, Powershell все еще удерживает более 1 000 000 КБ памяти (при проверке из диспетчера задач) и, похоже, не освобождает использование памяти. Мне придется убить процесс Powershell, чтобы освободить память. Как предотвратить такое огромное использование памяти?

Ответы [ 2 ]

5 голосов
/ 09 ноября 2010

Попробуйте

 [GC]::Collect()

Это обеспечивает сбор мусора

0 голосов
/ 04 июля 2014

Кажется, что в Get-Content есть утечка памяти.

[GC] :: Сборка не работала в нашем случае при загрузке ~ 6000 документов, и вместо этого нам пришлось использовать StreamReader:

$sr = New-Object System.IO.StreamReader($filepath)

...

$sr.Dispose()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...