Ребят, не подскажете как можно узнать загрузку нескольких процессоров по отдельности? К примеру, через GetSystemTimeAsFileTime и GetProcessTimes можно более-менее сносно расчитать общую загрузку процессоров (колонка CPU Usage у Task Manager и Procexp от Русиновича), а вот как быть с ними по отдельности? Есть ли решение на уровне голого API, без PDH APIs, WMI и прочего? Вроде вышеупомянутые утилиты справляются с этим на ура.
А у таск менеджера разве не несколько окошек? У меня 2 отдельных окошка - в каждом отдельный график загрузки. А вот програмно - извиняйте - не знаю
Нет-нет, я про CPU Usage, а не про CPU Usage History. Первая как раз нормально расчитывается по этим двум функциям, а вот как разбить эти данные что бы получить CPU Usage History - хз http://discussion.autodesk.com/servlet/JiveServlet/download/61-477850-5227097-113142/Task%20Manager.jpg
В принципе, это самый шустрый способ промониторить параметры ОС, так как: HKEY_PERFORMANCE_DATA: Registry entries subordinate to this key allow you to access performance data. The data is not actually stored in the registry; the registry functions cause the system to collect the data from its source. Тоесть, это просто переходники для получения внутренних счётчиков оси, вот только как дотянуться до процов и процессов я так и не смог найти Тыкните носом, если не в лом.
http://www.rsdn.ru/article/baseserv/perfcounters1.xml Всем спасибо, особенно nitrotoluol'у - очень "помог".
Блин, аж стыдно Рихтер и Кларк, Программирование серверных приложений, глава 7, Мониторинг производительности. Самое смешное, что книгу читал кусками не раз и не два, а вот открыть на 214 стр. так и не удосужился.