2016-04-17 8 views
1
 8.014196 task-clock    # 0.004 CPUs utilized   
      204 context-switches   # 0.025 M/sec     
      32 cpu-migrations   # 0.004 M/sec     
      0 page-faults    # 0.000 K/sec     
    11,841,196 cycles     # 1.478 GHz      [46.17%] 
    9,982,788 stalled-cycles-frontend # 84.31% frontend cycles idle [80.26%] 
    8,122,708 stalled-cycles-backend # 68.60% backend cycles idle 
    5,462,302 instructions    # 0.46 insns per cycle   
             # 1.83 stalled cycles per insn 
    1,098,309 branches     # 137.045 M/sec     
     94,430 branch-misses    # 8.60% of all branches   [77.23%] 

что смысл 1,478 ГГц и [46,17%] в аннотации циклов игровой.что смысл циклы аннотации перфорации стат

+0

туши, вы можете повторно запустить программу с меньшим набором Г.У. события для отключения мультиплексирования? 'perf stat -e task-clock, контекстные переключатели, cpu-миграции, ошибки страниц, циклы, инструкции, ветви./your_test_program' – osgx

+0

@osgx' 62.152716 task-clock # 0.003 Используемые процессоры [100.00%] 2,182 контекст -switches # 0,035 м/сек [100.00%] 5 CPU-миграции # 0,080 K/сек [100.00%] 2-страница разломы # 0,032 K/сек 110938674 # циклы 1,785 ГГц 52245072 инструкции # 0.47 insns за цикл 10,107,248 филиалов # 162.620 M/sec ' – hulk

ответ

1

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

что смысл 1,478 ГГц

Насколько мне известно, значение после # является перерасчет нативного значения счетчика (значение в первом столбце) в пользовательскую форму. Это значение должно примерно соответствовать тактовой частоте вашего процессора:

grep MHz /proc/cpuinfo 

должно иметь аналогичное значение. Он печатается от tools/perf/util/stat-shadow.c.

и [46,17%] в аннотации циклов х?

Это значение должно соответствовать части времени, счетчик оборудования был активным. Perf позволяет запускать больше аппаратных счетчиков и мультиплексировать их во время выполнения, что упрощает программирование.

я не нашел фактическое место в коде, но она описана в одном недавно proposed patch как (часть формата csv):

+ - percentage of measurement time the counter was running 
+0

Большое спасибо за вашу помощь @Jakuje. И 1,478 ГГц кажется caculate от (циклов * 1000)/часов задачи. С другой стороны, «Это значение должно примерно соответствовать тактовой частоте вашего процессора», значение cat/proc/cpuinfo равно 2,2 ГГц, но значение в первичном статусе составляет всего 1,2 ГГц, когда использование процессора составляет около 90%. – hulk

+1

hulk, частота процессора может измениться. Иногда это также будет изменено в/proc/cpuinfo, но 'perf stat -e cycle, task-clock./Program' более точны, если есть' [100%] 'аннотация в соответствии с циклами. – osgx

+0

@osgx ala Intel Turbo magic или аналогичный в других процессорах. Спасибо, что упомянул. – Jakuje