
Технический прогресс сделал традиционный подход к мониторингу устаревшим. Усреднённые значения между обновлениями больше не отражают реальную работу в конкретный момент. На современных CPU с динамическим масштабированием частоты, Turbo Boost и троттлингом связь между затраченным временем и объёмом выполненной работы существенно ослабла.
Диспетчер задач работает по таймеру: он обновляет показатели через фиксированные промежутки, показывая интерпретацию событий за период, а не картину загрузки в реальном времени. Попытка разделить нагрузку на время между обновлениями невозможна, так как GUI-таймер не может гарантировать строго своевременное срабатывание.
Бывший инженер Microsoft Дэйв Пламмер (Dave Plummer), создавший оригинальный инструмент, объяснил причину: архитектура была намеренно упрощена. Появление динамического масштабирования частоты лишило его возможности оценивать реальную вычислительную работу корректно.
По мнению разработчика, правильной метрикой было бы отношение реально выполненной работы к максимально возможной теоретической производительности. Однако реализовать эту идею Пламмер уже не может: он вышел на пенсию из Microsoft.
Пламмер запрограммировал диспетчер иначе: инструмент запрашивает суммарное время каждого процесса — сумму времени в режиме ядра и пользователя — с момента запуска. Из этого значения вычитается результат предыдущего запроса для того же процесса, а полученная разность делится на суммарное процессорное время всех процессов между обновлениями. Метод сложнее, зато точнее.
