Siyaqhubeka nokukhuluma ngamathuluzi okuhlola ukusebenza kwe-CPU ku- Linux-imishini. Izinto zanamuhla: i-temci, i-uarch-bench, i-likwid, ama-perf-tools, kanye ne-llvm-mca.
Amanye amabhentshimakhi:
--Ото - - Unsplash
Leli ithuluzi lokulinganisa isikhathi sokwenziwa sezinhlelo ezimbili. Empeleni, ikuvumela ukuthi uqhathanise isikhathi sokwenza sezinhlelo ezimbili zokusebenza. Umbhali wale nsizakalo wayengumfundi ovela eJalimane, uJohannes Bechberger, owayithuthukisa njengengxenye yethisisi yakhe yeziqu zabafundi ngo-2016. Ithuluzi lanamuhla ilayisensi ngaphansi kwe-GNU General Public License.
UJohannes wayefuna ukwenza ithuluzi elalizomvumela ukuba alinganise ukusebenza kwesistimu yekhompyutha endaweni elawulwayo. Ngakho-ke, esinye sezici eziyinhloko ze-temci yikhono lokusetha indawo yokuhlola. Ngokwesibonelo, : shintsha izilungiselelo zesiphathi semvamisa ye-CPU, khubaza kanye nezinqolobane ze-L1 ne-L2, vala imodi ye-turbo kuma-Intel processors, njll. Ukuze i-benchmarking temci isebenzisa amathuluzi , и .
Nansi indlela insiza ebukeka ngayo esimweni sokuqala:
# 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
Ngokusekelwe emiphumeleni yokumaka, isistimu iyakhiqiza enemidwebo, amathebula namagrafu, ehlukanisa i-temci nezixazululo ezifanayo.
Phakathi kokushiyeka kwe-temci, "ubusha" bayo bugqamile. Ngenxa yalokho ukucushwa kwehadiwe nesofthiwe. Isibonelo, kunzima ukuyisebenzisa ngaphansi macOS, futhi ezinye izici azitholakali ezinhlelweni ezineprosesa ye-ARM. Lokhu kungashintsha esikhathini esizayo, njengoba umbhali ethuthukisa iphrojekthi ngenkuthalo, futhi inani lezinkanyezi ku-GitHub liyakhula kancane kancane—kungekudala kakhulu, ngisho nakwabanye ku-Hacker News.
Insiza yokuhlola ukusebenza kwemisebenzi ye-CPU esezingeni eliphansi, ethuthukiswe ngunjiniyela u-Travis Downs (). Muva nje ubelokhu ebhuloga kumakhasi we-GitHub, ekhuluma ngamathuluzi wokulinganisa nezinye izinto ezihlobene. Ngokuvamile, i-uarch-bench isiqala ukuthandwa, kodwa isivele ijwayelekile abahlali be-Hacker News emiculweni yetimu njengethuluzi lokuya ku-benchmarking.
I-Uarch-bench ikuvumela ukuthi uhlole ukusebenza kwenkumbulo, isivinini sokulayisha idatha efanayo nomsebenzi wokuhlanza . Ukuthi imiphumela yokulinganisa ekhiqizwe uhlelo ibukeka kanjani ingatholwa ngaphansi kwekhasi.
Kuyaphawuleka ukuthi i-uarch-bench, njenge-temci, Umsebenzi we-Intel Turbo Boost (ukhulisa ngokuzenzakalelayo isivinini sewashi leprosesa ngaphansi komthwalo) ukuze imiphumela yokuhlolwa ihambisane.
Okwamanje, iphrojekthi isesigabeni sokuqala sokuthuthuka, ngakho-ke i-uarch-bench ayinayo imibhalo enemininingwane, futhi ukusebenza kwayo kungaqukatha izimbungulu - ngokwesibonelo, ngokuqaliswa ku-Ryzen. Futhi, amabhentshimakhi kuphela wezakhiwo ze-x86 asekelwayo. Umbhali uthembisa ukungeza ukusebenza okwengeziwe ngokuzayo futhi ukumema ukuthi ujoyine ukuthuthukiswa.
Lena isethi yamathuluzi okuhlola ukusebenza Linux-imishini eneziprosesa ze-Intel, AMD, kanye ne-ARMv8. Yadalwa ngaphansi koMnyango Wezemfundo Nocwaningo waseJalimane ngo-2017 futhi yenziwa umthombo ovulekile.
Phakathi kwamathuluzi e-likwid, singagqamisa i-likwid-powermeter, ebonisa ulwazi olusuka kumarejista e-RAPL mayelana namandla asetshenziswa uhlelo, kanye ne-likwid-setFrequencies, ekuvumela ukuthi ulawule imvamisa yokucubungula. Ungabona uhlu oluphelele .
Ithuluzi lisetshenziswa onjiniyela ababandakanyeka ocwaningweni lwe-HPC. Isibonelo, nge-likwid iqembu lochwepheshe abavela ku-Regional Computing Center yeNyuvesi yase-Erlangen-Nuremberg (RRZE) eJalimane. Uphinde abambe iqhaza elikhulu ekwakhiweni kwaleli sethi yamathuluzi.

--Ото - - Unsplash
Leli ithuluzi lokuhlaziya ukusebenza Linux-amaseva UBrendan Gregg. Ungomunye wabathuthukisi - uhlaka oluguqukayo lokulandelela lokususa iphutha kwezinhlelo zokusebenza ngesikhathi sangempela.
amathuluzi-perf asekelwe ku-perf_events kanye ne-ftrace kernel subsystems. Izinsiza zabo zikuvumela ukuthi uhlaziye i-I/O latency (iosnoop), ulandelele izimpikiswano zekholi yesistimu (i-unccount, i-funclower, i-funcgraph ne-functrace) futhi uqoqe izibalo "kokushaya" kunqolobane yefayela (cachestat). Esimweni sokugcina, umyalo ubukeka kanjena:
# ./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
Umphakathi omkhulu wakheke eduze kwethuluzi (). Futhi kunezinkampani ezisebenzisa ngenkuthalo amathuluzi e-perf, ngokwesibonelo . Kodwa ithuluzi liyathuthukiswa futhi lilungiswe (yize izibuyekezo zikhishwe kancane kancane kamuva nje). Ngakho-ke, amaphutha angenzeka ekusebenzeni kwawo - umbhali ubhala ukuthi ngezinye izikhathi amathuluzi asebenzayo abangela ukwethuka kwe-kernel.
Isisetshenziswa esibikezela ukuthi zingaki ikhodi yomshini wezinsiza zekhompyutha ezodinga kuma-CPU ahlukene. Yena Imiyalo Ngomjikelezo ngamunye () kanye nomthwalo wehadiwe okhiqizwa uhlelo oluthile.
I-llvm-mca yethulwa ngo-2018 njengengxenye yephrojekthi , esakha isistimu yendawo yonke yokuhlaziya, ukuguqulwa kanye nokwenza kahle kwezinhlelo. Kuyaziwa ukuthi ababhali be-llvm-mca bagqugquzelwe yisixazululo sokuhlaziya ukusebenza kwesoftware. futhi yafuna ukwenza enye indlela. Futhi ngokusho kwabasebenzisi, ukuphuma kwethuluzi (isakhiwo sabo nobuningi) kufana ngempela ne-IACA - isibonelo . Nokho, i-llvm-mca yamukela kuphela , ngakho-ke cishe kuzodingeka usebenzise iziguquli ukuze usebenze ngakho.
Esibhala ngakho kumabhulogi ethu nasezinkundleni zokuxhumana:
![]()
![]()
![]()
![]()
![]()
Thina kwa-1cloud.ru sinikeza isevisi yamahhala “" Ungaphatha amarekhodi e-DNS ku-akhawunti yomuntu siqu eyodwa.
Source: www.habr.com
