Что нового

Загрузка процессора (в т.ч. определённым процессом)

radish

Новичок
Сообщения
1
Репутация
0
Очень хотелось бы такую функцию, вполне согласен заплатить за неё разумную сумму денег.

$load=CPULoad("process.exe")

Возврат:

$load[0] - суммарная загрузка всех процессоров указанным процессом
$load[1] - число процессоров в системе
$load[2] - загрузка 1-го (CPU0) процессора указанным процессом
$load[3] - загрузка 2-го (CPU1) процессора указанным процессом
$load[4] - ... и так далее.

Если имя процесса не указано — $load=CPULoad() — выдать общую загруженность.

Прочие требования:

1. Функция должна работать на Windows XP, Windows Vista, Windows 7, в том числе x64 (но и x86 тоже!)
2. Функция не должна брать инфу из Task Manager т.к. меня не устраивает частота обновления информации в нём: 1 раз в секунду — это слишком неоперативно.

Пример работы (как это должно выглядеть на практике):

Вызываем функцию в скрипте: $load=CPULoad("winrar.exe") (у нас запущен архиватор WinRAR).

Получаем:

$load[0]=55
$load[1]=4
$load[2]=100
$load[3]=100
$load[4]=20
$load[5]=0

Соответственно:

1. Общая загрузка всех процессоров данным процессом — 55% (100% — это полная загрузка всех 4-х процессоров)
2. Всего процессоров — 4.
3. Первый загружен на все 100%.
4. Второй загружен тоже на 100%.
5. Третий загружен на 20%.
6. Четвёртый не загружен вообще (по крайней мере, указанным процессом).

Легко заметно, что $load[0] — это всего лишь ($load[5]+$load[4]+$load[3]+$load[2])/$load[1].

Сразу по поводу «я что-то подобное уже видел вот тут <ссылка>». Я тоже много чего более-менее «подобного» видел на англоязычном форуме AutoIt. Но либо не совсем в том виде, в котором мне это нужно (что нужно — описано выше), либо с существенными ограничениями по функционалу (не работает в Vista и 7, не работает на x64). Опять-таки: я же не запрещаю вам использовать фрагменты чужого творчества. :smile: Сделайте, что мне надо — я заплачу именно вам. :smile:
 
Верх