2015-12-04 2 views
1

Мне нужно создать скрипт или программу, которая перезапускает требуемое приложение Windows, когда оно использует больше оперативной памяти, чем 1GB, например. Я хочу использовать powershell, но зациклился на том, чтобы использовать RAM в данном приложении в переменной. Я пробовал $OutputVariable = (Get-Process %processname% | Select-Object WS) | Out-String, но это не работает, потому что мне нужно только значение.Перезапустите приложение Windows, когда оно использует больше оперативной памяти, чем необходимо

+3

Вы уверены, что вы действительно хотите сделать это !? Было бы лучше исправить приложение, чтобы удалить утечку памяти или удалить объекты памяти. – alastairtree

+0

Это стороннее приложение, к сожалению, я не могу это исправить, спасибо за совет! –

ответ

1
(Get-Process explorer).WS 

предоставит вам только значение. Но я думаю, вам лучше исправить эту утечку памяти.

см

What are ways to solve Memory Leaks in C#

What strategies and tools are useful for finding memory leaks in .NET?

How to use IDisposable to fix memory leaks

среди других

+0

Вы можете сделать '$ OutputVariable = ((Get-Process% processname%). Ws/1048576)', чтобы получить от KB до GB. – Nate

+0

'(Get-Process% processname%). WS'/1MB :-) – sodawillow

+0

Не работает для меня, но я в PS v2. – Nate

Смежные вопросы