Оценка нагрузки на систему Windows

Я написал сценарий обработки изображений на php, который запускается как запланированная задача cron (в OSX). Чтобы избежать перегрузки системы, сценарий проверяет загрузку системы (используя «время безотказной работы») и запускается только тогда, когда нагрузка ниже заранее определенного порога.

Теперь я перенес это на Windows (2003 Server) и ищу аналогичную функцию командной строки для сообщения о загрузке системы в виде целого числа или числа с плавающей запятой.

загрузка системы бессмысленна в зависимости от того, для чего вы ее используете. Я видел системы с загрузкой более 100, которые можно было бы идеально использовать, если бы вы не коснулись одного ресурса, вызвавшего загрузку.

user3850 27.11.2008 19:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
604
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вы можете использовать служебную программу командной строки под названием pv для отображения имени процесса и% использования ЦП за определенный период времени (по умолчанию 500 мсек) с помощью этой командной строки:

pve.exe -o"%n\t%c"

Есть справка по использованию переключателя -?, описывающая доступные параметры.

Это потребует немного больше работы, чем время безотказной работы на OSX / linux, так как вам нужно будет суммировать числа из первого столбца (или опустить имя процесса и просто суммировать значение из каждой строки вывода), чтобы получить общую сумму (в% ) Использование процессора.

Положительным моментом является то, что, приложив немного больше усилий, вы можете получить конкретный объем ЦП, который использует ваш исполняемый процесс, а не общее потребление ЦП системой.

WMI тестирует практически все в Windows, включая нагрузку на систему.

Я нашел нить об этом.

Ответ принят как подходящий

Вы можете попробовать это в командной строке Windows. Это работает в XP, получите много другой информации.

wmic процессор

Просто используйте стандартный win32 apis (GTC)

Не используйте нагрузку ...

Загрузка системы в данном случае не является хорошим показателем. В Unix он, по сути, сообщает вам, сколько процессов готово и ожидает выполнения в данный момент. Но поскольку существует множество причин, по которым процесс может ждать, ваш сценарий может действительно работать, не снижая производительности другого процесса, даже если «нагрузка» на систему высока.

... использовать хорошо

Вы должны использовать nice(1) в Unix и эквивалент в Windows («Приоритет процесса»?), Чтобы ОС могла решить, когда запускать ваш скрипт!

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

Вероятно, вам придется реализовать какой-то механизм, чтобы предотвратить одновременный запуск более одного экземпляра вашего скрипта, на случай, если для выполнения потребуется больше времени, чем длится интервал между вызовами.

Другие вопросы по теме