В моей Ubuntu 12.04 с psensor я видел процентное число, обновленное для использования процессором. Интересно, как рассчитался этот процент? В частности, что такое числитель и знаменатель в соотношении?
Спасибо!
Процент использования процессора рассчитывается как «количество времени, в течение которого процессор не находится в режиме ожидания». Я имею в виду, что этот calc сделан из счетчика, который регистрирует использование "холостого" рабочего процесса. В то время как другой предварительный процесс "отнимает" мощность процессора у незанятого процесса, регистр потребителя незанятого процессора уменьшается в два раза; поскольку временная линия является фиксированной и постоянной, (1 - «% времени в простоях») представляет собой величину загрузки процессора, используемую для всех процессов, работающих на процессоре:
Определение загрузки процессора
Для наших целей я определяю загрузку ЦП U как количество времени, которое не занято в режиме ожидания, как показано в уравнении 1.
Незанятая задача - это задача с абсолютным самым низким приоритетом в многозадачной системе. Эту задачу также иногда называют фоновой задачей или фоновым циклом, показанным в листинге 1. Эта логика традиционно имеет цикл while(1). Другими словами, бесконечный цикл вращает процессор, ожидая индикации того, что необходимо выполнить критическую работу.
Листинг 1: Простой пример фонового цикла
int main( void )
{
SetupInterrupts();
InitializeModules();
EnableInterrupts();
while(1) /* endless loop - spin in the background */
{
CheckCRC();
MonitorStack();
... do other non-time critical logic here.
}
}
Это описание на самом деле упрощено, поскольку некоторая "реальная" работа часто выполняется в фоновом режиме. Однако логика, закодированная для выполнения во время ожидания, не должна иметь жестких требований в реальном времени, потому что нет гарантии, когда эта логика завершится. Фактически, одна техника, которую вы можете использовать в перегруженной системе, - это перенести часть логики с менее строгими требованиями к времени из сложных задач реального времени в простую задачу.