Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save platinumthinker/5e37c4906060cd3d5f3f24b8cc7494af to your computer and use it in GitHub Desktop.

Select an option

Save platinumthinker/5e37c4906060cd3d5f3f24b8cc7494af to your computer and use it in GitHub Desktop.
Общая статистика:
```
sudo perf stat -g -- ./dgemm
40002.711133 cpu-clock (msec) # 4.000 CPUs utilized
430,879 context-switches # 0.011 M/sec
3,104 cpu-migrations # 0.078 K/sec
9,119 page-faults # 0.228 K/sec
59,508,881,346 cycles # 1.488 GHz
43,869,839,589 instructions # 0.74 insn per cycle <-- Менее 1 при полной загрузке всех ядер!!
9,611,376,855 branches # 240.268 M/sec
430,974,188 branch-misses # 4.48% of all branches
10.000759007 seconds time elapsed
```
Смотрим отдельно по кешам:
```
sudo perf stat -e L1-dcache-loads,L1-dcache-load-misses,LLC-loads,LLC-load-misses -- ./dgem
16,518,655,698 L1-dcache-loads
1,005,029,910 L1-dcache-load-misses # 6.08% of all L1-dcache hits
517,448,458 LLC-loads
158,890,411 LLC-load-misses # 30.71% of all LL-cache hits
10.003391612 seconds time elapsed
```
Печалимся...
Смотрим другими инструментами:
```
sudo tiptop
tiptop - [root]
Tasks: 590 total, 5 displayed screen 0: default
PID [ %CPU] %SYS P Mcycle Minstr IPC %MISS %BMIS %BUS COMMAND
9844+ 179.8 0.0 3 10203.79 7469.91 0.73 0.43 1.09 0.0 beam.smp
1346+ 1.5 0.5 0 40.73 7.72 0.19 6.13 1.64 0.2 chromium
1472+ 1.0 0.0 3 56.69 35.89 0.63 1.39 0.62 0.0 chromium
3722+ 0.5 0.0 1 10.21 14.33 1.40 0.23 0.37 0.0 awesome
1395+ 0.5 0.0 0 10.18 5.49 0.54 1.42 0.39 0.1 chromium
```
PID - ID процесса. Все процессы упорядочены по потреблению CPU (по аналогу с top)
%CPU - суммарное потребление cpu данным процессом (т.е. 200% это равносильно загрузки 2ух ядер на 100% каждое)
%SYS - потребление cpu ядром (системные вызовы как я понял)
P - последний использовавшийся логический процессор
Mcycle - количество процессорных циклов (миллионов)
Minstr - количество процессорных инструкций (миллионов)
IPC - instruction per cycle
%MISS - cache miss per 100 instructions
%BMISS - mispredicted branches per 100 instructions
%BUS - bus cycles per executed instructions (хрен знает)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment