Russian Qt Forum
Ноябрь 22, 2024, 14:07
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Компиляторы и платформы
>
Linux
>
Как узнать % загрузки CPU в Linux?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как узнать % загрузки CPU в Linux? (Прочитано 39412 раз)
OS2
Самовар
Offline
Сообщений: 186
Как узнать % загрузки CPU в Linux?
«
:
Июль 20, 2012, 13:30 »
Всем доброго времени суток!
Собственно возникла необходимость програмно узнать % загрузки центрального процессора в Linux(SuSe).
Перерыл весь форум, но найти ответ(кратенький пример) не смог. Сам в Linux особо не разбираюсь, поэтому прошу знатоков данной OS помочь примерчиком....
Заранее спасибо!
Записан
DropNZ
Гость
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #1 :
Июль 20, 2012, 15:21 »
top, uptime
например
top -b | grep Cpu
(us - занятость процессора пользовательскими программами, sy - системными)
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #2 :
Июль 20, 2012, 20:31 »
И как это реализовать програмно?
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #3 :
Июль 20, 2012, 20:50 »
Через парсинг /proc/stat
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #4 :
Июль 20, 2012, 21:02 »
Не понял...
а примерчик можно?
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #5 :
Июль 20, 2012, 21:04 »
Наверное я не совсем понятно изложил суть вопроса: нужен платформенно-зависимый код на C\C++ для получения текущей загруженности CPU.
Записан
Fat-Zer
Гость
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #6 :
Июль 20, 2012, 21:16 »
Цитата: OS2 от Июль 20, 2012, 21:04
Наверное я не совсем понятно изложил суть вопроса: нужен платформенно-зависимый код на C\C++ для получения текущей загруженности CPU.
вот для чего людям исходники открыли!? смотри как это сделано в top'е тут тебе и «пример», и «как сделать»...
ЕМНИП там каждую секунду берётся статистика по всем процессам, а именно время, которое каждый из них провёл на процессоре, суммируется. затем просто смотрим какую ээто часть от секунды занимает... в чём время измеряется я не помню если честно.... статистика берётся ЕМНИП из /proc/<pid>
ЗЫ: /proc/stat — это не то скорей всего — там просто общая статистика с запуска системы.
ЗЗЫ: тема где-то тут уже была такая...
Записан
DropNZ
Гость
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #7 :
Июль 21, 2012, 16:56 »
Цитата: OS2 от Июль 20, 2012, 21:04
Наверное я не совсем понятно изложил суть вопроса: нужен платформенно-зависимый код на C\C++ для получения текущей загруженности CPU.
мне лень рыться по гуглу, но мне кажется, универсального решения нету, надо писать что-то типа
Код:
#ifdef Q_OS_WIN32
//вызов какой то winapi функции
#else
//парсить что-нибудь
#endif
Записан
OKTA
Гость
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #8 :
Июль 21, 2012, 17:04 »
чую фибрами души, что такого кода отродясь не было =D да и WIN32 с Linux врядли подружатся
Парси вывод команд и будет тебе счастье!
Записан
DropNZ
Гость
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #9 :
Июль 21, 2012, 17:11 »
Цитата: OKTA от Июль 21, 2012, 17:04
чую фибрами души, что такого кода отродясь не было =D да и WIN32 с Linux врядли подружатся
Парси вывод команд и будет тебе счастье!
Это да
Можно выполнить команду, получить вывод и с помощью regexp найти нужные значения
Записан
OS2
Самовар
Offline
Сообщений: 186
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #10 :
Июль 22, 2012, 11:09 »
Я с регулярными выражениями не знаком. Подсказать не можешь, как правильно распарсить вывод top'а, чтоб узнать текущую загрузку CPU?
Записан
OKTA
Гость
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #11 :
Июль 22, 2012, 12:12 »
с RegExp лучше сам разбирайся, иначе никогда не разберешься) Регулярные выражения должен знать каждый!!
А если боишься, то парси вывод обычными методами QString
Записан
xokc
Птица говорун
Offline
Сообщений: 976
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #12 :
Июль 23, 2012, 08:19 »
Вот здесь
http://www.hyperic.com/products/sigar/
кроссплатформенная реализация искомого.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Как узнать % загрузки CPU в Linux?
«
Ответ #13 :
Июль 23, 2012, 17:20 »
Цитата: OS2 от Июль 20, 2012, 21:02
Не понял...
Читаешь документацию на файл /proc/stat, пишешь код который его открывает, читает значения, и вычисляет загрузку CPU. Примеров полно в гугле начиная от C и заканчивая bash с python.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...