LINUX.ORG.RU
ФорумAdmin

Как измерять системные показатели в реальном времени?

 , ,


0

2

Ммм… не знаю как назвать эту функцию. Как сделать так, чтобы данные, например, в htop (и всех программах для отслеживания состояния системы), обновлялись в реальном времени, а не раз в несколько секунд?

Скажем, в openwrt по-умолчанию все графики и статистика обновляются с некоторой задержкой. Я понимаю, что такая штука повысит требования к ресурсам, но мне интересна сама реализация такой функциональности без оглядки на ресурсы.

Например, диспетчер задач в винде тоже не все показатели обновляет в реальном времени, на моей памяти только wireshark в реальном времени показывает данные. Ещё в разных измерительных программах для отслеживания железа на винде есть такая штука как «частота опроса».

Как сделать так, чтобы данные, например, в htop (и всех программах для отслеживания состояния системы), обновлялись в реальном времени, а не раз в несколько секунд?

Зависит от самой утилиты, которая статистику показывает, потому что она её и собирает.

Смысла делать интервал коротким - мало. Потому что всякие «пики» будут только искажать картинку, 0.5-2 сек хватает на усреднение без потери «деталей».

vvn_black ★★★★★
()

некоторые параметры физически не получится сделать «риалтайм».
к примеру то же использование проца «риалтайм» представляет собой чистую гребенку с двумя состояниями:
100% - проц загружен вычислениями.
0% - шедулер не нашел подходящего для выполнения потока и проц спит.
с шагом 100 раз в секунду, т.е. если измерять нагрузку проца чаще чем сто раз в секунду, то будет либо 0% либо 100%.
если меньше, то уже можно получить некоторый усредненный процент загрузки за интервал между измерениями и все такое.
сколь помню, там аккурат раз в 1 секунду считывается количество рабочих тиков и сбрасывается в ноль.
т.к. при полной загрузке их должно быть сто, то считанное и будет процент загрузки проца с точностью до единиц.
если бтоп выдает с интервалом 100 мс, то значит он усредняет за десять тиков и точность получится до десятков :)
это так, очень чисто философско-теоритически…

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

уменьшая параметр для ключа -d у top с 0.9 до 0.01 доказывает Вашу теорию
ядра процессора либо работают (100% нагрузка) либо ждут (0% нагрузка)

Vlad-76 ★★★★
()

обновлялись в реальном времени, а не раз в несколько секунд?

в реальном времени, это 24 кадра в секунду, как раз то кол-во, кадров в секунду, которое создает иллюзию непрерывности для глаза

IvanRia
()
Ответ на: комментарий от firkax

Нет. Это как бы pull-notification, т.е. ты периодически вытягиваешь из системы (ВСЕ) данные и отображаешь. Он же хочет push-notification. Активировался диск и это (и только это) автоматом отобразилось

Под реальным временем он понимает не вылавливание данных (событий), а чтобы на событиях висели колбэк-функции, которые сразу отображали данные

futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 1)
Ответ на: комментарий от Vlad-76

теорию

Это не теория, «занятость» процессора, если совсем просто, расчитывается как отношение счётчика циклов CPU на максимальной частоте к счётчику всех циклов за выбранный период. Чем меньше период, тем меньше смысла в таком показателе.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от Vlad-76

ну, вообще, для чистоты эксперимента, надо уменьшать задержку до такой частоты, как работает прерывание от таймера, этот параметр есть где-то в конфигурации ядра

IvanRia
()
Ответ на: комментарий от futurama

по телеку кино смотрим с такой частотой и кажется, что все в риалтайм, если ученым станет известно, что время квантуется, то частота, с которой это происходит и будет риалтайм

IvanRia
()
Ответ на: комментарий от futurama

вот, нашел определение риалтайма

Время не непрерывно. Оно квантуется. И один квант времени, это одно взаимодействие элементарной частицы. При этом, даже у одной частицы, время может течь неравномерно.

IvanRia
()
Ответ на: комментарий от IvanRia

более точное определение

ORLY

Что означают в вашем определении «время» и «квант времени»?

Время не непрерывно. Оно квантуется

Кто сказал?

При этом, даже у одной частицы, время может течь неравномерно.

И как оно при этом квантуется?

vvn_black ★★★★★
()

Сударь, что бы вы получали измерения в real-time - у вас операционная система должна работать в режиме hard real-time, а таких ос не так много, и ни windows, ни linux - к ним не относятся.

Silerus ★★★★
()
Ответ на: комментарий от IvanRia

еще в конфиге ядра есть
CONFIG_TICK_CPU_ACCOUNTING=y
про него пишут «This is the basic tick based cputime accounting that maintains statistics about user, system and idle time spent on per jiffies granularity.»
Тока неясно как добраться до этой статистики
sar? top?

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 2)
Ответ на: комментарий от IvanRia

по телеку кино смотрим с такой частотой и кажется, что все в риалтайм, если ученым станет известно, что время квантуется, то частота, с которой это происходит и будет риалтайм

Это в какой-то степени привычка. Попробуй посмотреть какое-нибудь видео в 60 fps, а потом резко переключить на 24. Сразу увидишь, какой там «реалтайм». А уж про игры (особенно от первого лица) и говорить не приходится — попробуй просто поиграть в какой-нибудь FPS, особенно динамичный типа Xonotic (ну или Q3) в 24 FPS. Расскажешь потом об ощущениях, и какой это «реалтайм» ;)

CrX ★★★★★
()
Ответ на: комментарий от IvanRia

Да, наверно, с такой частотой и надо запускать top

Выводиться всё равно будет 60 (ну может 120 или 144, если буржуй) раз в секунду. Или у тебя монитор 1000 выдаёт?

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от CrX

Да я знаю, играл раньше на слабых компах и честно говоря, не понимал, почему для телека норм

IvanRia
()
Ответ на: комментарий от vvn_black

btop

Спасибо, до этого не пользовался. Попробовал, выглядит классно!

Harliff ★★★★★
()

Имхо, там бинарный рт счётчик, а не разница.
И цп не спит кстати, а спекулятив экзекуцию делает, но это и так понятно).

drl
()
Ответ на: комментарий от drl

Не исключаю встроенный аппаратный «сенсор» отображающий разницу.

drl
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.