แฉแแแ แแแแ แซแแแแแ แกแแฃแแแ แก CPU-แก แแฃแจแแแแแก แจแแคแแกแแแแก แแแกแขแ แฃแแแแขแแแแ Linux แแแแฅแแแแแแ. แแฆแแก แแแกแแแแจแ: temci, uarch-bench, likwid, perf-tools แแ llvm-mca.
แแแขแ แกแแแ แแแแขแแชแแ แแแจแแแแ:
Sysbench, UnixBench, Phoronix Test Suite, Vdbench แแ IOzone Interbench, Fio, Hdparm, S แแ Bonnie แแแแแขแ แ, DD, vpsbench, HammerDB แแ 7-Zip
แคแแขแ -
temci
แแก แแ แแก แแแกแขแ แฃแแแแขแ แแ แ แแ แแแ แแแแก แจแแกแ แฃแแแแแก แแ แแแก แจแแกแแคแแกแแแแแ. แแ แกแแแแแแ, แแก แกแแจแฃแแแแแแก แแแซแแแแ แจแแแแแ แแ แแ แ แแแแแแแชแแแก แจแแกแ แฃแแแแแก แแ แ. แแแแฃแแแแฃแ แ แแ แแแ แแแแก แแแขแแ แ แแงแ แกแขแฃแแแแขแ แแแ แแแแแแแแ, แแแฐแแแแก แแแฎแแแ แแแ แ, แ แแแแแแแช แแแ แจแแแแฃแจแแแ แกแแแแแแแแแ แ แแแกแแ แขแแชแแแก แคแแ แแแแแจแ 2016 แฌแแแก. แแฆแแแแแแแแ แแแกแขแ แฃแแแแขแ
แแแฐแแแแกแก แกแฃแ แแ แจแแแฅแแแ แแแกแขแ แฃแแแแขแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแกแชแแแแ แแแแแแแก แแแแแแแแแแ แกแแกแขแแแแก แแฃแจแแแแ แแแแขแ แแแแ แแแแ แแแ แแแแจแ. แแฅแแแแ แแแแแแแแแแ แ, temci-แก แแ แ-แแ แแ แแแแแแ แ แแแฎแแกแแแแแแแแแ แกแแขแแกแขแ แแแ แแแแก แจแแฅแแแแก แจแแกแแซแแแแแแแ. แฒแแแแแแแแ,
แแกแ แแแแแแงแฃแ แแแ แฃแขแแแแขแ แแแ แแแ แจแแแแฎแแแแแจแ:
# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times [####################################] 100%
Report for single runs
sleep 0.1 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 100.00000m, deviation = 0.00000%
max_res_set mean = 2.1800k, deviation = 3.86455%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
sleep 0.2 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 200.00000m, deviation = 0.00000%
max_res_set mean = 2.1968k, deviation = 3.82530%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
แแแแฉแแแ แแแแแแก แจแแแแแแแแก แกแแคแฃแซแแแแแ แกแแกแขแแแ แฌแแ แแแฅแแแแก
แแแแฉแแก แแแแแแแแแแแแแก แจแแ แแก แแแกแ โแแฎแแแแแแ แแแแโ แแแแแแ แฉแแแ. แแแแก แแแแ แแก
แฃแ แฅ-แกแแแแ
แแ แแแ แแแ แแแแแแ แแแแแก CPU แคแฃแแฅแชแแแแแก แจแแกแ แฃแแแแแก แจแแกแแคแแกแแแแแ, แจแแแฃแจแแแแแฃแแ แแแแแแ แแก แขแ แแแแก แแแฃแแแก แแแแ (
Uarch-bench แกแแจแฃแแแแแแก แแแซแแแแ แจแแแคแแกแแ แแแฎแกแแแ แแแแก แแฃแจแแแแ, แแแ แแแแแฃแ แ แแแแแชแแแแแแก แฉแแขแแแ แแแแก แกแแฉแฅแแ แ แแ แแแกแฃแคแแแแแแแก แกแแแฃแจแแแแแ
YMM แ แแแแกแขแ แแ แแแแ . แ แแแแ แแแแแแงแฃแ แแแ แแ แแแ แแแแก แแแแ แแแแแ แแ แแแฃแแ แแแแฉแแแ แแแแแแก แจแแแแแแแ, แจแแแแซแแแแ แแแฎแแแแคแแชแแแแฃแ แกแแชแแแจแ แแแแ แแแก แแแแแจแ.
แแฆแกแแแแจแแแแแ, แ แแ แฃแแ แฅ-แกแแแแ, แแกแแแ แ แแแแ แช temci,
แแ แแ แแแกแแแแก, แแ แแแฅแขแ แแแแแแแแ แแแแก แแแ แแฃแ แกแขแแแแแแแ, แแแแขแแ uarch-bench-แก แแ แแฅแแก แแแขแแแฃแ แ แแแแฃแแแแขแแชแแ แแ แแแกแ แแแฅแแแแแแ แจแแแซแแแแ แจแแแชแแแแแก แจแแชแแแแแแก - แแแแแแแแแ,
แแแแแแแแฃแ แแ
แแก แแ แแก แแแกแขแ แฃแแแแขแแแแก แแแแ แแแ Linux แแแแ แแขแแแแก แแฃแจแแแแแก แจแแกแแคแแกแแแแแ Intel, AMD แแ ARMv8 แแ แแชแแกแแ แแแแ. แแแ แจแแแฅแแแ แแแ แแแแแแก แแแแแแแแแแกแ แแ แแแแแแแก แคแแแแ แแแฃแ แ แกแแแแแแกแขแ แแก แแแแแแ 2017 แฌแแแก แแ แแแแแแแแ แฆแแ แฌแงแแ แแจแ.
likwid แแแกแขแ แฃแแแแขแแแก แจแแ แแก แจแแแซแแแแ แแแแแแงแแ likwid-powermeter, แ แแแแแแช แแฉแแแแแแก แแแคแแ แแแชแแแก RAPL แ แแแแกแขแ แแแแแแ แกแแกแขแแแแก แแแแ แแแฎแแแ แแแฃแแ แแแแ แแแแก แจแแกแแฎแแ, แแกแแแ likwid-setFrequencies, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแขแ แแแแ แแ แแชแแกแแ แแก แกแแฎแจแแ แ. แแฅแแแ แจแแแแซแแแแ แแแฎแแ แกแ แฃแแ แกแแ
แฎแแแกแแฌแงแแก แแงแแแแแแ แแแแแแ แแแ, แ แแแแแแแช แฉแแ แแฃแแแ แแ แแแ HPC แแแแแแแจแ. แแแแแแแแแ, likwid-แแแ แแ แแแ
แคแแขแ -
แแแ แค-แแแกแขแ แฃแแแแขแแแ
แแก แแแกแขแ แฃแแแแขแ Linux แกแแ แแแ แแแแก แแฃแจแแแแแก แแแกแแแแแแแแแแแแ
perf-tools แแแคแฃแซแแแแฃแแแ perf_events แแ ftrace แแแ แแแแก แฅแแแกแแกแขแแแแแแ. แแแแ แฃแขแแแแขแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแแแแ I/O แจแแงแแแแแแ (iosnoop), แแแแแงแฃแ แ แแแแแแแ แกแแกแขแแแแก แแแ แแก แแ แแฃแแแแขแแแก (unccount, funcslower, funcgraph แแ functrace) แแ แจแแแแ แแแแ แกแขแแขแแกแขแแแ แคแแแแแแแก แฅแแจแจแ โแฐแแขแแแแกโ แจแแกแแฎแแ (cachestat). แแ แฃแแแแแกแแแแ แจแแแแฎแแแแแจแ, แแ แซแแแแแ แแกแ แแแแแแงแฃแ แแแ:
# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9
แแแกแขแ แฃแแแแขแแก แแแ แจแแแ แกแแแแแแ แแแแ แกแแแแแแแแแแ แฉแแแแงแแแแแแ (
llvm-mca
แแ แแแ แแแ, แ แแแแแแช แแ แแแแแแแ แแแก, แ แแแแแแ แแแแแแแแแแ แ แแกแฃแ แกแ แแแกแญแแ แแแแ แแแแฅแแแแก แแแแก แกแฎแแแแแกแฎแแ CPU-แแ. แแก
llvm-mca แฌแแ แแแแแแแแแ แแงแ 2018 แฌแแแก แแ แแแฅแขแแก แคแแ แแแแแจแ
แ แแแ แแฌแแ แ แฉแแแแก แแแแแแแกแ แแ แกแแชแแแแฃแ แฅแกแแแแแจแ:
แ แแแแ แแแแชแแแ แแฅแแแแ Linux แกแแกแขแแแ: 10 แ แฉแแแ
แ แแกแแแแแก แแแแแแแแแชแแ: แ แแแแ แแ แแแแแ แแแ แแฅแแแแ แแแแแชแแแแแ
แฌแแแแแแ แแแแแแแก, แแแแช แฃแแแ แแ แแก แฉแแ แแฃแแ แกแแกแขแแแแก แแแแแแแกแขแ แแ แแแแจแ แแ แแฎแแ แแแแ แแแก แแแฌแงแแแแก
แแ แฉแแแแแ: แฎแฃแแ แฌแแแแ แแ แแ แแ แแฃแ แกแ แฅแกแแแแแแ
แฉแแแ 1cloud.ru-แแ แแแแแแแแแ แฃแคแแกแ แกแแ แแแกแก.
แฌแงแแ แ: www.habr.com