Powershell - приостановка/возобновление работы WM
500 UAHНужен скрипт, который будет приостанавливать виртуальные машины при большой нагрузке и возобновлять их работу при низкой.
Вирт. машины будут для удобства называться 1,2,3 .... n (другие запущенные машины нужно игнорировать)
Алгоритм таков:
условие1
если нагрузка держится выше 95% в течение 15 секунд - то приостанавливаем машину n, если она уже остановлена, то машину (n-1) и .т.д.
повторно проверяем через 10 секунд. Если нагрузка все ещё высокая, то продолжаем отключать виртуалки.
условие2
Если нагрузка на ЦП ниже 75% в течение 15 секунд, то возобновляем работу остановленной машины с самым маленьким номером,
повторно проверяем через 10 секунд. Если нагрузка все ещё низкая, то продолжаем возобновлять работу виртуалок, пока не будут работать все.
в остальное время, если не находимся в условии 1 или условии2, то проверяем нагрузку на ЦП каждую секунду.
переменные должны быть вынесены в начале скрипта, для удобства редактирования
n = 20 //количество вирт. машин
max_CPU = 95
min_CPU = 75
time = 10
Основная сложность заключается в том, что нужно считывать метрику
системный монитор -> логический процессор низкоуровневой оболочки --> % общего времени работы
Другие метрики отражают не корректную информацию (либо не учитывают работу виртуальных машин, либо остальных процессов на ПК).
Также обратите внимание, что нужно именно приостанавливать/возобновлять работу wm, а не завершать/запускать.
Скрипт должен работать в бесконечном цикле, с возможностью выхода по какой-либо комбинации клавиш, либо, если сложностей не возникнет, то без проблем закрою нажав на "крестик"
как это выглядит при ручном включении/отключении
https://i.gyazo.com/7012af6297974351e28b04d2ffef740a.png
здесь 24, 25, 26 приоcтановлены, если нагрузка будет низкой, то будем поочерёдно включать 24 затем 25 затем 26
если нагрузка будет высокой, то будем, соответственно, отключать 23, затем 22, затем 21 и так далее, пока нагрузка на ЦП не "войдёт" в норму
Пример, что нужно начинать выключать виртуальные машины
-
Доброй ночи !не по теме ,но например в гипервизоре КВМ ,такое реализовать намного легче.У вас я так понял Виндовс
-
да, у меня все работает в hyper-v / windows
-
Уже был такой проект и вы решили начать опять с козырной ставки в 500 грн ?
-
Актуальные фриланс-проекты в категории Десктопные приложения
Добавить паузы 10-30 секунд между отправками писемЗдравствуйте! Ищу опытного программиста 1С / BAS (BAF) для оперативного решения технической проблемы с почтовой рассылкой.Суть проблемы: Используем бухгалтерскую программу BAF (Business Automation Framework), редакция 2.0. Раз в месяц возникает необходимость массово отправлять… Веб-программирование, Десктопные приложения ∙ 5 дней 12 часов назад ∙ 10 ставок |
Реверс-инжиниринг консольных утилит для опроса контроллеров SSD (Flash ID)1. Цель работы Выделение программного интерфейса (API) взаимодействия с контроллерами SSD/NVMe из предоставленного набора консольных утилит (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron и др.). Результатом должно стать рабочий код на языке C/C++ или точная… C и C++, Десктопные приложения ∙ 6 дней назад ∙ 6 ставок |
Модификация в работе эмулятора
2000 UAH
Здравствуйте. Я скачал с Интернета эмулятор игрового автомата gaminator cf final. Он мне очень понравился, но там есть недочёты. Есть админ панель, но она открывается свободно, но не закрывается вообще. Закрывается только вместе с приложением. А данные, после изменения в админ… Десктопные приложения ∙ 13 дней 13 часов назад ∙ 10 ставок |