LINUX.ORG.RU

Мониторинг загрузки CPU


0

0

Hi all!

Есть плата на embedded linux, на ней крутится несколько программ с наивысшим приоритетом. Я хочу мониторить загрузку процессора и понижать приоритет приложения, которое много кушает, вызовом setpriority(). Нашёл getloadavg(), но это загрузка процессора всеми программами. Как можно мониторить загрузку процессора определённым приложением (по типу "top") в этом же приложении и возможно ли такое?

Заранее спасибо!

Re: Мониторинг загрузки CPU

Ядро какое? Если новое, то проще шедуллер настроить.

mv ★★★★★ ()
Ответ на: Re: Мониторинг загрузки CPU от Igrushkin

Re: Мониторинг загрузки CPU

Это старое ядро, со старым шедуллером.

Перебирай руками все pid'ы в /proc, смотри файл schedstat. Документация в исходниках ядра, в Documentation/sched-stats.txt

mv ★★★★★ ()

Re: Мониторинг загрузки CPU

top читает /proc, где для каждого процессора указанно сколько времени он выполнялся, top запоминает эти значения, читает /proc второй раз, определяет разницу этих значений и вычисляет процент использования.

Если хочется городить свою программу через setpriority(), возмите за основу http://cpulimit.sourceforge.net/, она читает /proc и остонавиливает их на время через сигналы SIGSTOP и SIGCONT.

mky ★★★★★ ()
Ответ на: Re: Мониторинг загрузки CPU от Rastafarra

Re: Мониторинг загрузки CPU

они у него, на мой взгляд, очень страшные. Голову над ними долго ломать придётся.

true_admin ★★★★★ ()
Ответ на: Re: Мониторинг загрузки CPU от true_admin

Re: Мониторинг загрузки CPU

userdog.sourceforge.net

мониторим загрузку серверов через него, можно написать плагин который при высокой нагрузке будет снижать приоретет.

OxiD ★★★★ ()
Ответ на: Re: Мониторинг загрузки CPU от OxiD

Re: Мониторинг загрузки CPU

приоритет не добавит ресурсов системе. Если на сервере крутиться только один сайт или один проект то это всё бесполезно.

Ты уверен что эта штука именно загрузку проца смотрит а не LA?

true_admin ★★★★★ ()
Ответ на: Re: Мониторинг загрузки CPU от true_admin

Re: Мониторинг загрузки CPU

я один из разрабов (:

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

OxiD ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.