Уведомление о событии использования процессора в C / C ++? - PullRequest
0 голосов
/ 29 апреля 2011

Вам сложно найти системный вызов для получения уведомления, когда загрузка ЦП достигает определенной точки? Я специально искал вызов для вариантов Linux / BSD, но если вы знаете, что такое версия Windows, также я знаю, что для дальнейшего использования.

Что-то похожее на kqueue.

Очевидно, я мог бы просто периодически проверять / proc / cpuinfo или отдельных пользователей, но я надеялся, что был системный вызов, который сделает это для меня более эффективным способом.

например. «Дайте мне знать, когда среднее общее использование ЦП за последнюю минуту превышает 50%»

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Вы можете получить информацию об использовании процессора из getrusage(), и вы можете использовать soft limit с setrlimit(), чтобы получить SIGXCPU, когда вы превысите предварительно установленный порог (который вы затем можете увеличить в обработчике сигнала).

Дополнительная информация: http://linux.about.com/library/cmd/blcmdl2_getrusage.htm

0 голосов
/ 29 апреля 2011

API, которые вы ищете, это GetProcessTimes и GetSystemTimes. Эта ссылка имеет два очень хороших примера их использования.Если у вас есть дополнительные вопросы, так как я сам использовал их для определения CPUUsage, не стесняйтесь их задавать.

...