Zizindikiro za ma seva a Linux: kusankha kwa zida zotseguka

Tikupitiriza kulankhula za zida zowunika momwe CPU ikuyendera pamakina a Linux. Masiku ano muzinthu: temci, uarch-bench, likwid, perf-zida ndi llvm-mca.

Zoyezera zina:

Zizindikiro za ma seva a Linux: kusankha kwa zida zotseguka
Π€ΠΎΡ‚ΠΎ - Lukas Blazek - Unsplash

nthawi

Ichi ndi chida choyezera nthawi yochitira mapulogalamu awiri. Kwenikweni, zimakupatsani mwayi wofananiza nthawi yogwiritsira ntchito ziwiri. Wolemba za utility anali wophunzira waku Germany, Johannes Bechberger, yemwe adapanga ngati gawo la malingaliro ake a bachelor mu 2016. Lero ndi chida wogawidwa ndi zololedwa pansi pa GNU General Public License.

Johannes ankafuna kupanga chida chomwe chingamuthandize kuyeza momwe makompyuta amagwirira ntchito m'malo olamulidwa. Chifukwa chake, chimodzi mwazinthu zazikulu za temci ndikutha kukhazikitsa malo oyeserera. Mwachitsanzo, mungathe: sinthani makonda a CPU frequency manager, zimitsani hyper-threading ndi L1 ndi L2 cache, zimitsani turbo mode pa Intel processors, etc. Pa benchmarking temci amagwiritsa zida nthawi, perf_stat ΠΈ getrusage.

Izi ndi zomwe zothandiza zimawoneka ngati koyamba:

# 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

Kutengera zotsatira za benchmarking, dongosolo limapanga lipoti lothandiza okhala ndi zithunzi, matebulo ndi ma graph, omwe amasiyanitsa temci ndi mayankho ofanana.

Pakati pa zofooka za temci, "unyamata" wake umaonekera. Chifukwa cha ichi iye sikuti zonse zimathandizidwa hardware ndi mapulogalamu kasinthidwe. Mwachitsanzo, ndizovuta kuyendetsa pa macOS, ndipo zina sizipezeka pamakina a ARM. M'tsogolomu, zinthu zikhoza kusintha, monga wolemba akugwira ntchito mwakhama, ndipo chiwerengero cha nyenyezi pa GitHub chikuwonjezeka pang'onopang'ono - osati kale kwambiri temci ngakhale. anakambidwa mu ndemanga pa Hacker News.

benchi-woyera

Chida chowunikira momwe magwiridwe antchito a CPU apansi, opangidwa ndi injiniya Travis Downs (Travis Downs). Posachedwapa wakhala akulemba mabulogu Zokhudza Kachitidwe pa Masamba a GitHub, omwe amalankhula za zida zofananira ndi zinthu zina zofananira. Nthawi zambiri, benchi ya uarch ikungoyamba kutchuka, koma nthawi zambiri wotchulidwa Anthu okhala ku Hacker News mu ulusi wamutu ngati chida cholumikizira.

Uarch-bench imakupatsani mwayi wowunika momwe kukumbukira kumagwirira ntchito, kuthamanga kwa data yofananira ndi ntchito yoyeretsa Zolemba za YMM. Momwe zotsatira zofananira zopangidwa ndi pulogalamuyi zimawonekera zitha kupezeka m'malo ovomerezeka pansi pa tsamba.

Ndizofunikira kudziwa kuti uarch-bench, ngati temci, amadula Ntchito ya Intel Turbo Boost (imangowonjezera liwiro la wotchi ya purosesa) kuti zotsatira zake zikhale zofananira.

Pakalipano, polojekitiyi ili kumayambiriro kwa chitukuko, kotero uarch-bench ilibe zolemba zambiri, ndipo ntchito yake ikhoza kukhala ndi nsikidzi - mwachitsanzo, zovuta zimadziwika ndi kukhazikitsa pa Ryzen. Komanso, ma benchmarks okhawo a x86 amathandizidwa. Wolemba akulonjeza kuti adzawonjezera magwiridwe antchito mtsogolomo ndikukuitanani kuti mulowe nawo pachitukuko.

madzi

Izi ndi zida zowunika momwe makina a Linux amagwirira ntchito ndi ma processor a Intel, AMD ndi ARMv8. Idapangidwa mothandizidwa ndi Unduna wa Zamaphunziro ndi Kafukufuku ku Germany mu 2017 ndikumasulidwa kugwero lotseguka.

Pakati pa zida za likwid, titha kuwonetsa likwid-powermeter, yomwe imawonetsa zambiri kuchokera ku zolembera za RAPL za mphamvu zomwe zimagwiritsidwa ntchito ndi dongosolo, komanso likwid-setFrequencies, zomwe zimakulolani kuti muwongolere pafupipafupi purosesa. Mutha kuwona mndandanda wathunthu pezani m'nkhokwe.

Chidachi chimagwiritsidwa ntchito ndi mainjiniya omwe akuchita nawo kafukufuku wa HPC. Mwachitsanzo, ndi likwid amagwira ntchito gulu la akatswiri ochokera ku Regional Computing Center ya University of Erlangen-Nuremberg (RRZE) ku Germany. Amagwiranso ntchito popanga zida izi.

Zizindikiro za ma seva a Linux: kusankha kwa zida zotseguka
Π€ΠΎΡ‚ΠΎ - Clem Onojeghuo - Unsplash

perf-zida

Chida ichi chowunikira momwe ma seva a Linux amagwirira ntchito anayambitsa Brendan Gregg. Iye ndi m'modzi mwa opanga Malangizo - njira yotsatirira yosinthira mafayilo munthawi yeniyeni.

perf-zida zimatengera perf_events ndi ftrace kernel subsystems. Zida zawo zimakulolani kusanthula I/O latency (iosnoop), kutsatira njira zoyimbira foni (unccount, funcslower, funcgraph ndi functrace) ndikusonkhanitsa ziwerengero za "kugunda" mu cache (cachestat). Pomaliza, lamulo likuwoneka motere:

# ./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

Anthu ambiri apanga mozungulira chidacho (pafupifupi 6 nyenyezi zikwi pa GitHub). Ndipo pali makampani omwe amagwiritsa ntchito zida za perf, mwachitsanzo Netflix. Koma chidachi chikukulitsidwa ndikusinthidwa (ngakhale zosintha zatulutsidwa posachedwa). Choncho, zolakwika zikhoza kuchitika mu ntchito yake - wolemba analemba kuti nthawi zina perf-zida zimayambitsa kernel mantha.

llvm-mca

Chida chomwe chimalosera kuchuluka kwa makina ogwiritsira ntchito makompyuta omwe angafune pa ma CPU osiyanasiyana. Iye amawunika Malangizo Pa Mzere uliwonse (IPC) ndi katundu pa hardware yomwe pulogalamu inayake imapanga.

llvm-mca idaperekedwa mu 2018 ngati gawo la ntchitoyi Zithunzi za LLVM, yomwe ikupanga dongosolo lapadziko lonse lapansi lowunikira, kusintha ndi kukhathamiritsa kwa mapulogalamu. Zimadziwika kuti olemba llvm-mca adadzozedwa ndi yankho pakuwunika momwe mapulogalamu amagwirira ntchito. IACA kuchokera ku Intel ndipo adayesetsa kupanga njira ina. Ndipo malinga ndi ogwiritsa ntchito, kutulutsa kwa chida (mawonekedwe awo ndi kuchuluka kwake) kumafanana ndi IACA - chitsanzo. angapezeke pano. Komabe, llvm-mca amangovomereza Chithunzi cha AT&T, kotero muyenera kugwiritsa ntchito otembenuza kuti mugwire nawo ntchito.

Zomwe timalemba pamabulogu athu ndi malo ochezera:

Zizindikiro za ma seva a Linux: kusankha kwa zida zotseguka "Mat. Wall Street model" kapena momwe mungakulitsire mtengo wamtambo

Zizindikiro za ma seva a Linux: kusankha kwa zida zotseguka Momwe mungatetezere dongosolo lanu la Linux: Malangizo a 10
Zizindikiro za ma seva a Linux: kusankha kwa zida zotseguka Kuchepetsa chiopsezo: bwanji osataya deta yanu

Zizindikiro za ma seva a Linux: kusankha kwa zida zotseguka Mabuku a iwo omwe ali kale nawo mu kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka zachuma kabungwebundundundandundandundanda LOnda ukusebenza kweani ukuhamba ukusebenza kuka ngu | | |
Zizindikiro za ma seva a Linux: kusankha kwa zida zotseguka Kusankhidwa: mabuku asanu ndi maphunziro amodzi pamaneti

Zizindikiro za ma seva a Linux: kusankha kwa zida zotsegukaIfe ku 1cloud.ru timapereka ntchito yaulere "DNS kuchititsa" Mutha kuyang'anira zolemba za DNS mu akaunti imodzi yokha.

Source: www.habr.com

Kuwonjezera ndemanga