Ke hoʻomau nei mākou e kamaʻilio e pili ana i nā mea hana no ka loiloi ʻana i ka hana CPU ma Linux-nā mīkini. Nā mea o kēia lā: temci, uarch-bench, likwid, perf-tools, a me llvm-mca.
Nā hōʻailona hou aʻe:
Ото - — Unsplash
He mea hana kēia no ka helu ʻana i ka manawa hoʻokō o nā papahana ʻelua. ʻO ka mea nui, hiki iā ʻoe ke hoʻohālikelike i ka manawa hoʻokō o nā noi ʻelua. ʻO ka mea kākau o ka pono he haumāna mai Kelemania, ʻo Johannes Bechberger, nāna i hoʻomohala iā ia ma ke ʻano he ʻāpana o kāna tesis lae pua ma 2016. Mea paahana o keia la laikini ma lalo o ka GNU General Public License.
Ua makemake ʻo Johannes e hana i kahi mea hana e hiki ai iā ia ke ana i ka hana o kahi ʻōnaehana kamepiula ma kahi ʻano hoʻomalu. No laila, ʻo kekahi o nā hiʻohiʻona nui o ka temci ka hiki ke hoʻonohonoho i kahi ʻano hoʻāʻo. ʻo kahi laʻana, : hoʻololi i nā hoʻonohonoho hoʻonohonoho hoʻonohonoho CPU frequency manager, hoʻopau a me L1 a me L2 huna, e hoopau i ke ano turbo ma ka Intel processors, etc. , и .
ʻO kēia ke ʻano o ka pono i ka hihia mua:
# 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
Ma muli o nā hopena benchmarking, hana ka ʻōnaehana me nā kiʻi, nā papa a me nā kiʻi, e hoʻokaʻawale i ka temci mai nā hopena like.
Ma waena o nā hemahema o temci, ʻo kona "'ōpiopio" ke kū nei. Ma muli o kēia nā hoʻonohonoho lako a me nā polokalamu. No ka laʻana, he paʻakikī ke holo ma lalo o macOS, a ʻaʻole i loaʻa kekahi mau hiʻohiʻona ma nā ʻōnaehana me kahi kaʻina hana ARM. Hiki ke loli kēia i ka wā e hiki mai ana, ʻoiai ke hoʻomohala nei ka mea kākau i ka papahana, a ke piʻi mālie nei ka nui o nā hōkū ma GitHub—ʻaʻole i liʻuliʻu aku nei, ʻoiai ʻo temci ma ka Hacker News.
He mea pono no ka loiloi ʻana i ka hana o nā hana CPU haʻahaʻa haʻahaʻa, i hoʻomohala ʻia e ka ʻenekinia Travis Downs (). I kēia mau lā ua blog ʻo ia ma nā ʻaoʻao GitHub, e kamaʻilio e pili ana i nā mea hana benchmarking a me nā mea pili ʻē aʻe. Ma keʻano laulā, ua hoʻomaka ka uarch-bench e loaʻa ka kaulana, akā ua maʻamau poʻe kamaʻāina o Hacker News i nā pae kumuhana ma ke ʻano he mea hana no ka benchmarking.
Uarch-bench hiki iā ʻoe ke loiloi i ka hana hoʻomanaʻo, ka wikiwiki o ka hoʻouka ʻana i ka ʻikepili like a me ka hana hoʻomaʻemaʻe . Hiki ke ʻike ʻia ke ʻano o nā hopena benchmarking i hana ʻia e ka papahana ma ka lalo o ka ʻaoʻao.
He mea pono e hoʻomaopopo i kēlā uarch-bench, e like me temci, Hana ʻo Intel Turbo Boost (hoʻonui ʻo ia i ka wikiwiki o ka uaki ma lalo o ka hoʻouka ʻana) i kūlike nā hopena hōʻike.
I kēia manawa, aia ka papahana i ka hoʻomaka mua o ka hoʻomohala ʻana, no laila ʻaʻohe palapala kikoʻī o uarch-bench, a aia paha kāna hana i nā pōpoki - no ka laʻana, me ka hoʻomaka ʻana ma Ryzen. Eia kekahi, kākoʻo wale ʻia nā pae kuhikuhi no nā hale kiʻi x86. Hoʻohiki ka mea kākau e hoʻohui i nā hana hou aʻe i ka wā e hiki mai ana a kono iā ʻoe e komo i ka hoʻomohala ʻana.
He hoʻonohonoho kēia o nā mea hana no ka loiloi hana Linux-nā mīkini me nā kaʻina hana Intel, AMD, a me ARMv8. Ua hana ʻia ma lalo o ka malu o ke Kuhina Hoʻonaʻauao a me ka Noiʻi Pekelala Kelemania i ka makahiki 2017 a ua hana ʻia he open source.
Ma waena o nā mea hana likwid, hiki iā mākou ke hōʻike i ka likwid-powermeter, e hōʻike ana i ka ʻike mai nā papa inoa RAPL e pili ana i ka mana i hoʻopau ʻia e ka ʻōnaehana, a me ka likwid-setFrequencies, e hiki ai iā ʻoe ke hoʻomalu i ka frequency processor. Hiki iā ʻoe ke ʻike i ka papa inoa piha .
Hoʻohana ʻia ka mea hana e nā ʻenekinia i komo i ka noiʻi HPC. No ka laʻana, me likwid he hui o nā loea mai ka Regional Computing Center o ke Kulanui o Erlangen-Nuremberg (RRZE) ma Kelemānia. Ua komo pū ʻo ia i ka hoʻomohala ʻana i kēia pūʻulu o nā mea hana.

Ото - — Unsplash
He mea hana loiloi hana kēia Linuxnā kikowaena Brendan Gregg. ʻO ia kekahi o nā mea hoʻomohala - kahi hoʻolālā hoʻoikaika no ka hoʻopau ʻana i nā noi i ka manawa maoli.
Hoʻokumu ʻia nā perf-tools ma nā perf_events a me ftrace kernel subsystems. ʻO kā lākou mau pono e ʻae iā ʻoe e kālailai I/O latency (iosnoop), track system call arguments (unccount, funcslower, funcgraph and functrace) a hōʻiliʻili i nā ʻikepili ma nā "hits" i ka waihona waihona (cachestat). I ka hihia hope, ua like ke ʻano o ke kauoha:
# ./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
Ua hoʻokumu ʻia kahi kaiāulu nui a puni ka mea kani (). A aia kekahi mau hui e hoʻohana ikaika nei i nā mea hana perf, no ka laʻana . Akā ke hoʻomohala hou ʻia a hoʻololi ʻia ka mea hana (ʻoiai ua hoʻokuʻu ʻia nā mea hou i kēia manawa. No laila, hiki mai nā hewa i kāna hana - kākau ka mea kākau i kekahi manawa ke kumu o nā mea hana perf i ka weliweli kernel.
He mea hoʻohana e wānana i ka nui o ka helu helu mīkini waiwai e koi ai i nā CPU like ʻole. ʻO ia Nā ʻōlelo aʻo i kēlā me kēia pōʻaiapuni () a me ka ukana ma luna o ka lakohana i hana ʻia e kekahi noi.
Ua hōʻike ʻia ʻo llvm-mca ma 2018 ma ke ʻano o ka papahana , ka mea e hoʻomohala nei i kahi ʻōnaehana ākea no ka nānā ʻana, hoʻololi a me ka loiloi o nā papahana. Ua ʻike ʻia ua hoʻoikaika ʻia nā mea kākau o llvm-mca e kahi hopena no ka nānā ʻana i ka hana polokalamu. a ʻimi e hana i kahi ʻokoʻa. A e like me nā mea hoʻohana, ua like ka huahana o ka mea hana (ko lākou hoʻolālā a me ka nui) i ka IACA - hoʻohālike . Eia naʻe, ʻae wale ʻo llvm-mca , no laila pono ʻoe e hoʻohana i nā mea hoʻololi e hana pū me ia.
ʻO nā mea a mākou e kākau ai ma kā mākou blog a me nā ʻoihana pūnaewele:
![]()
![]()
![]()
![]()
![]()
Hāʻawi mākou ma 1cloud.ru i kahi lawelawe manuahi "" Hiki iā ʻoe ke hoʻokele i nā moʻolelo DNS i hoʻokahi moʻokāki pilikino.
Source: www.habr.com
