Название: Как узнать % загрузки CPU в Linux? Отправлено: OS2 от Июль 20, 2012, 13:30 Всем доброго времени суток!
Собственно возникла необходимость програмно узнать % загрузки центрального процессора в Linux(SuSe). Перерыл весь форум, но найти ответ(кратенький пример) не смог. Сам в Linux особо не разбираюсь, поэтому прошу знатоков данной OS помочь примерчиком.... Заранее спасибо! Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: DropNZ от Июль 20, 2012, 15:21 top, uptime
например top -b | grep Cpu (us - занятость процессора пользовательскими программами, sy - системными) Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: OS2 от Июль 20, 2012, 20:31 И как это реализовать програмно? ???
Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: Alex Custov от Июль 20, 2012, 20:50 Через парсинг /proc/stat
Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: OS2 от Июль 20, 2012, 21:02 Не понял... :(
а примерчик можно? Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: OS2 от Июль 20, 2012, 21:04 Наверное я не совсем понятно изложил суть вопроса: нужен платформенно-зависимый код на C\C++ для получения текущей загруженности CPU. ;)
Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: Fat-Zer от Июль 20, 2012, 21:16 Наверное я не совсем понятно изложил суть вопроса: нужен платформенно-зависимый код на C\C++ для получения текущей загруженности CPU. ;) вот для чего людям исходники открыли!? смотри как это сделано в top'е тут тебе и «пример», и «как сделать»...ЕМНИП там каждую секунду берётся статистика по всем процессам, а именно время, которое каждый из них провёл на процессоре, суммируется. затем просто смотрим какую ээто часть от секунды занимает... в чём время измеряется я не помню если честно.... статистика берётся ЕМНИП из /proc/<pid> ЗЫ: /proc/stat — это не то скорей всего — там просто общая статистика с запуска системы. ЗЗЫ: тема где-то тут уже была такая... Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: DropNZ от Июль 21, 2012, 16:56 Наверное я не совсем понятно изложил суть вопроса: нужен платформенно-зависимый код на C\C++ для получения текущей загруженности CPU. ;) мне лень рыться по гуглу, но мне кажется, универсального решения нету, надо писать что-то типаКод: #ifdef Q_OS_WIN32 Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: OKTA от Июль 21, 2012, 17:04 чую фибрами души, что такого кода отродясь не было =D да и WIN32 с Linux врядли подружатся :D
Парси вывод команд и будет тебе счастье! Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: DropNZ от Июль 21, 2012, 17:11 чую фибрами души, что такого кода отродясь не было =D да и WIN32 с Linux врядли подружатся :D Это да :) Можно выполнить команду, получить вывод и с помощью regexp найти нужные значенияПарси вывод команд и будет тебе счастье! Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: OS2 от Июль 22, 2012, 11:09 Я с регулярными выражениями не знаком. Подсказать не можешь, как правильно распарсить вывод top'а, чтоб узнать текущую загрузку CPU?
Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: OKTA от Июль 22, 2012, 12:12 с RegExp лучше сам разбирайся, иначе никогда не разберешься) Регулярные выражения должен знать каждый!! 8) А если боишься, то парси вывод обычными методами QString :P
Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: xokc от Июль 23, 2012, 08:19 Вот здесь http://www.hyperic.com/products/sigar/ кроссплатформенная реализация искомого.
Название: Re: Как узнать % загрузки CPU в Linux? Отправлено: Alex Custov от Июль 23, 2012, 17:20 Не понял... :( Читаешь документацию на файл /proc/stat, пишешь код который его открывает, читает значения, и вычисляет загрузку CPU. Примеров полно в гугле начиная от C и заканчивая bash с python. |