Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Поиск и перезапуск процесса по его занимаемой памяти

Ответить
Настройки темы
PowerShell - [решено] Поиск и перезапуск процесса по его занимаемой памяти

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет! Есть программа которая работает в определенных границах занимаемой памяти это 1,2гб оперативы, если процесс занимает меньше или больше места, программа не работает, есть скрипт для перезапуска этой программы. Можно ли сделать допустим скан 1 раз в час (через планировщик реализую), который будет смотреть сколько занимает места программа и решать будет ли запускаться скрипт или нет. но проблема еще в том, что есть еще такой процесс с таким же именем (java.exe) он занимает до 200мб, его убивать не надо..

Отправлено: 14:52, 24-10-2017

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


  • 1. Определить рабочие границы Get-Process java | Select PrivateMemorySize
  • 2. Указать условие в блоке Where

Код: Выделить весь код
Get-Process java | Where {$_.PrivateMemorySize -gt 1gb}

Отправлено: 15:07, 24-10-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Kazun:
  • 1. Определить рабочие границы Get-Process java | Select PrivateMemorySize
  • 2. Указать условие в блоке Where

Код: Выделить весь код
Get-Process java | Where {$_.PrivateMemorySize -gt 1gb}
Можно для чайника, как прописать это правильно если один процесс в границе от 1.1 до 1.6гб, а второй от 10 до 200мб?

Отправлено: 15:28, 24-10-2017 | #3


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


от 1.1 до 1.6гб:
Код: Выделить весь код
Get-Process java | Where {$_.PrivateMemorySize -gt 1.1gb -and $_.PrivateMemorySize -lt 1.6gb}
10 до 200мб:
Код: Выделить весь код
Get-Process java | Where {$_.PrivateMemorySize -gt 10mb -and $_.PrivateMemorySize -lt 200mb}

Отправлено: 16:20, 24-10-2017 | #4


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Kazun:
от 1.1 до 1.6гб:
Код:
Get-Process java | Where {$_.PrivateMemorySize -gt 1.1gb -and $_.PrivateMemorySize -lt 1.6gb}
10 до 200мб:
Код:
Get-Process java | Where {$_.PrivateMemorySize -gt 10mb -and $_.PrivateMemorySize -lt 200mb} »

выводиться только один процесс java, а тот который нужно не видит его
https://drive.google.com/file/d/0B1p...ew?usp=sharing

Отправлено: 10:53, 25-10-2017 | #5


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Если так?
Код: Выделить весь код
Get-Process java | Where {$_.PrivateMemorySize64 -gt 1.1gb -and $_.PrivateMemorySize64 -lt 1.6gb}
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:21, 25-10-2017 | #6


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Kazun:
Get-Process java | Where {$_.PrivateMemorySize64 -gt 1.1gb -and $_.PrivateMemorySize64 -lt 1.6gb} »
результат тот же, сделал как здесь описано http://forum.oszone.net/nextnewesttothread-183577.html только проблема, не знаю как поставить здесь "If objProcess.WorkingSetSize < 11291456 Then" условие между между

Отправлено: 13:01, 25-10-2017 | #7


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Показать вывод и указать, какой процесс подпадает под условие:
Код: Выделить весь код
Get-Process java | select wor*,id

Отправлено: 13:24, 25-10-2017 | #8


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Kazun:
Get-Process java | select wor*,id »
у меня 70 компов, это будет сложно вычислять по ид каждый комп)

Отправлено: 13:36, 25-10-2017 | #9


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Get-Process java | Where {$_.WorkingSet64 -gt 1.1gb -and $_.WorkingSet64 -lt 1.6gb} | Foreach {Команда, если условие выполняется}
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:51, 25-10-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Поиск и перезапуск процесса по его занимаемой памяти

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск процесса по используемому файлу madeinussr Скриптовые языки администрирования Windows 3 05-07-2017 13:37
Проверка процесса на зависание и его перезапуск Eldirel AutoIt 0 30-01-2017 11:50
Любой язык - Приостановка или перезапуск процесса solomonkane Скриптовые языки администрирования Windows 5 17-09-2014 16:42
CMD/BAT - [решено] Перезапуск процесса Папуас Скриптовые языки администрирования Windows 3 07-12-2013 07:54
Разное - Windows XP: уменьшение объёма занимаемой оперативной памяти CyraxZ Microsoft Windows 2000/XP 2 01-03-2012 13:51




 
Переход