Как я могу получить процесс использования процессора в c ??GET Process Cpu Использование в c
Мне нужно использование процессора evrey и потоков.
, пожалуйста, приведи пример.
Спасибо!
Как я могу получить процесс использования процессора в c ??GET Process Cpu Использование в c
Мне нужно использование процессора evrey и потоков.
, пожалуйста, приведи пример.
Спасибо!
В равнинном C, это не представляется возможным, но так как этот вопрос также помечен «Windows»:
использования процессора процессорное время делится на реальное время. Функции GetThreadTimes и GetProcessTimes предоставляют вам эту информацию (среди других функций, таких как счетчики производительности, о которых упоминал Йоахим Пилеборг, но я думаю, что это, вероятно, проще).
Возможно, вы также захотите использовать CreateToolhelp32Snapshot, чтобы узнать, какие процессы и потоки существуют вообще. Вам нужно будет перевести идентификаторы потоков/процессов в дескрипторы, но я думаю, что это не будет большим препятствием (т. Е. OpenProcess
).
В C, общее использование ЦП может быть определена с использованием Performance Counters (есть небольшая опечатка в коде примера: sleep
должен быть изменен на Sleep
).
В C++, C#, Delphi и т. Д., Я бы рекомендовал использовать WMI.
== EDIT ==
Я нашел подход, чтобы получить использование в процессе CPU. Например, для того, чтобы получить нагрузку на центральный процессор Microsoft Outlook, изменить путь счетчика в приведенном выше примере это:
PdhAddCounter(query, TEXT("\\Process(OUTLOOK)\\% Processor Time"), 0, &counter);
Если у вас есть несколько экземпляров одного и того же исполняемого работает, вы можете использовать indexes. This MSDN example также очень полезен.
Вы не можете сделать это в стандартном C. Вам нужно использовать библиотеки, специфичные для реализации. Поскольку вы включили тег windows, вы имеете в виду, что хотите использовать API Windows, а не просто «просто C»? –
Возможно, вас заинтересуют [счетчики производительности] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa373083%28v=vs.85%29.aspx). –
Возможно, у меня есть alrady develope, что, если у меня есть вопрос, сколько у вас процессора на компьютере? и у вас есть linux или windows? – JMBise