LINUX.ORG.RU

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


0

0

Hi all!

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

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

Ответ на: комментарий от Igrushkin

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

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

mv ★★★★★
()

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

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

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

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

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

userdog.sourceforge.net

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

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

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

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

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

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

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

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