Как определить, связан ли мой процесс с процессором, с вводом / выводом, с памятью или - PullRequest
14 голосов
/ 24 ноября 2010

Я пытаюсь сократить время, затрачиваемое на компиляцию моего приложения, и одну вещь, которую я исследую, - это проверить, какие ресурсы, если таковые имеются, я могу добавить к машине сборки, чтобы ускорить процесс.Для этого, как мне выяснить, стоит ли мне инвестировать больше ЦП, больше ОЗУ, более качественный жесткий диск или же процесс связан каким-то другим ресурсом?Я уже видел это ( Как проверить, связано ли приложение с процессором или с памятью? ) и ищу дополнительные советы и указатели.

Что я пробовал до сих пор:

  • Время процесса на сборочной машине и на моей локальной машине.Я обнаружил, что сборка машины занимает вдвое больше времени, чем моя машина.

  • Запустите «Монитор ресурсов» и посмотрите на использование ЦП, использование памяти и использование диска во время выполнения процесса - при этом у меня возникают проблемы с интерпретацией чисел, главным образом потому, что я нене понимаю, что означает каждый столбец и как он переводится в виртуальную машину по сравнению с физическим блоком и что он означает с блоками с несколькими ЦП.

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Пуск> Выполнить> perfmon.exe

Системный монитор может отображать множество системных показателей, которые можно использовать для определения узких мест, включая загрузку процессора, операции ввода-вывода, попадания в файл подкачки и т. Д.

Кроме того, Platform SDK теперь включает в себя инструмент под названием XPerf, который может предоставлять информацию, более актуальную для разработчиков.

0 голосов
/ 17 декабря 2010

Случайная пауза скажет вам, каков ваш процент разделения между процессором и временем ввода / вывода.

В основном, если вы захватили 10 случайных стековых выстрелов и если 80% (например,) времени находится в I / O, тогда на 8 +/- 1,3 выборки стек достигнет системной подпрограммы, которая читает или записывает буфер.Если вам нужна более высокая точность, возьмите больше образцов.

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