Можно вычислить использованное процессорное время, предполагая, что планировщик задач равномерно (или, по крайней мере, распределенным образом) распределяет задачи по всем ядрам следующим образом:
CPU Time = Application Time * Number of Cores * Average CPU Utilization
Процесс простоя системы - это просто оболочка для планировщика задач, когда ЦП не выполняет никакой работы, поэтому в случае, если в системе больше ничего не выполняется, это обычно имеет очень высокую загрузку. Предполагая, что у вас 4-ядерная система, и ваш процесс простоя занимает 95% процессорного времени, каждую секунду вы ожидаете, что время CPU простоя увеличится на:
CPU Time = (1 second) * (4 cores) * (0.95) = 3.8 seconds
Обратите внимание, что по мере того, как мы получим более совершенные процессоры и наши операционные системы станут более оптимизированными, это теоретически будет максимум. на 100% (например, на холостом ходу процессор практически не работает по сравнению с его возможностями), и в этом случае вы ожидаете, что время процессора для процесса простоя будет просто увеличиваться в реальном времени, умноженное на количество ядер.
Обратите внимание, что эта формула применима даже для однопоточных приложений, поскольку, если однопоточное приложение постоянно работает на 4-ядерном компьютере, максимальная загрузка процессора составит только 25%; таким образом, время процессора для этого однопоточного приложения должно почти соответствовать в реальном времени:
CPU Time = (1 second) * (4 cores) * (0.25) = 1 second