Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣi

A tẹsiwaju lati sọrọ nipa awọn irinṣẹ fun iṣiro iṣẹ ṣiṣe Sipiyu lori awọn ẹrọ Linux. Loni ninu ohun elo: temci, uarch-bench, likwid, perf-tools ati lvm-mca.

Awọn ipilẹ diẹ sii:

Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣi
--Ото - Lukas Blazek - Unsplash

temci

Eyi jẹ ohun elo fun iṣiro akoko ipaniyan ti awọn eto meji. Ni pataki, o fun ọ laaye lati ṣe afiwe akoko ipaniyan ti awọn ohun elo meji. Onkọwe ti IwUlO jẹ ọmọ ile-iwe lati Jamani, Johannes Bechberger, ẹniti o ṣe agbekalẹ rẹ gẹgẹ bi apakan ti iwe-ẹkọ alakọbẹrẹ rẹ ni ọdun 2016. Oni ọpa pin nipasẹ iwe-aṣẹ labẹ GNU Gbogbogbo ẹya-aṣẹ.

Johannes fẹ lati ṣẹda ọpa kan ti yoo jẹ ki o ṣe iwọn iṣẹ ṣiṣe ti eto iširo ni agbegbe iṣakoso. Nitorinaa, ọkan ninu awọn ẹya akọkọ ti temci ni agbara lati ṣeto agbegbe idanwo kan. Fun apere, le: yi awọn eto oluṣakoso igbohunsafẹfẹ Sipiyu pada, mu ṣiṣẹ ipè threading ati awọn caches L1 ati L2, pa ipo turbo lori awọn ilana Intel, ati bẹbẹ lọ Temci nlo awọn irinṣẹ fun isamisi ipilẹ akoko, perf_stat и ikorira.

Eyi ni ohun ti ohun elo naa dabi ninu ọran akọkọ:

# 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

Da lori awọn abajade aṣepari, eto naa n gbejade rọrun Iroyin pẹlu awọn aworan atọka, tabili ati awọn aworan, eyi ti o ṣe iyatọ temci lati iru awọn solusan.

Lara awọn ailagbara ti temci, “odo” rẹ duro jade. Nitori eyi o kii ṣe ohun gbogbo ni atilẹyin hardware ati software atunto. Fun apẹẹrẹ, o nira lati ṣiṣẹ lori macOS, ati pe diẹ ninu awọn ẹya ko si lori eto-orisun ARM. Ni ọjọ iwaju, ipo naa le yipada, nitori onkọwe n ṣe idagbasoke iṣẹ akanṣe naa, ati pe nọmba awọn irawọ lori GitHub n pọ si ni diėdiė - kii ṣe pẹ diẹ sẹhin temci paapaa. sísọ ninu awọn comments lori Awọn iroyin Hacker.

urch-ibujoko

IwUlO kan fun iṣiro iṣẹ ṣiṣe ti awọn iṣẹ Sipiyu kekere, ti o dagbasoke nipasẹ ẹlẹrọ Travis Downs (Travis Downs). Laipe o ti n ṣe bulọọgi Performance ọrọ lori Awọn oju-iwe GitHub, eyiti o sọrọ nipa awọn irinṣẹ aṣepari ati awọn nkan miiran ti o jọmọ. Ni gbogbogbo, uarch-bench n bẹrẹ lati ni gbaye-gbale, ṣugbọn tẹlẹ ni igbagbogbo darukọ awọn olugbe ti Awọn iroyin Hacker ni awọn okun akori bi ohun elo lilọ-si fun isamisi.

Uarch-bench gba ọ laaye lati ṣe iṣiro iṣẹ ṣiṣe iranti, iyara ikojọpọ data ti o jọra ati iṣẹ mimọ awọn iforukọsilẹ YMM. Kini awọn abajade isamisi ti ipilẹṣẹ nipasẹ eto naa le rii ninu awọn osise ibi ipamọ ni isalẹ ti oju-iwe naa.

O tọ lati ṣe akiyesi pe uarch-bench, bii temci, disables Intel Turbo Igbelaruge iṣẹ (o laifọwọyi mu ki awọn isise aago iyara labẹ fifuye) ki awọn igbeyewo esi ni ibamu.

Ni bayi, iṣẹ akanṣe naa wa ni awọn ipele ibẹrẹ ti idagbasoke, nitorinaa uarch-bench ko ni iwe alaye, ati pe iṣẹ rẹ le ni awọn idun - fun apẹẹrẹ, awọn iṣoro ni a mọ pẹlu ifilọlẹ on Ryzen. Paapaa, awọn aṣepari nikan fun awọn faaji x86 ni atilẹyin. Onkọwe ṣe ileri lati ṣafikun iṣẹ ṣiṣe diẹ sii ni ọjọ iwaju ati pe ọ lati darapọ mọ idagbasoke naa.

olomi

Eyi jẹ eto awọn irinṣẹ fun iṣiro iṣẹ ṣiṣe ti awọn ẹrọ Linux pẹlu Intel, AMD ati awọn ilana ARMv8. O ṣẹda labẹ abojuto ti Ile-iṣẹ Federal ti Ẹkọ ati Iwadi ni ọdun 2017 ati tu silẹ sinu orisun ṣiṣi.

Lara awọn irinṣẹ likwid, a le ṣe afihan likwid-powermeter, eyiti o ṣafihan alaye lati awọn iforukọsilẹ RAPL nipa agbara ti eto naa jẹ, ati likwid-setFrequencies, eyiti o fun ọ laaye lati ṣakoso igbohunsafẹfẹ ero isise naa. O le wo atokọ pipe ri ninu ibi ipamọ.

Ọpa naa jẹ lilo nipasẹ awọn onimọ-ẹrọ ti o ni ipa ninu iwadii HPC. Fun apẹẹrẹ, pẹlu likwid Iwọn didun ẹgbẹ kan ti awọn alamọja lati Ile-iṣẹ Iṣiro Agbegbe ti Ile-ẹkọ giga ti Erlangen-Nuremberg (RRZE) ni Germany. O tun gba ipa ti nṣiṣe lọwọ ninu idagbasoke awọn irinṣẹ irinṣẹ yii.

Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣi
--Ото - Clem Onojeghuo - Unsplash

perf-irinṣẹ

Ọpa yii fun itupalẹ iṣẹ ṣiṣe ti awọn olupin Linux ṣafihan Brendan Gregg. O jẹ ọkan ninu awọn olupilẹṣẹ DTrace - Ilana wiwa kakiri kan fun awọn ohun elo n ṣatunṣe aṣiṣe ni akoko gidi.

perf-irinṣẹ da lori perf_events ati ftrace ekuro subsystems. Awọn ohun elo wọn gba ọ laaye lati ṣe itupalẹ lairi I/O (iosnoop), awọn ariyanjiyan ipe eto orin (unccount, funcslower, funcgraph and functrace) ati gba awọn iṣiro lori “deba” ninu kaṣe faili (cachestat). Ninu ọran ikẹhin, aṣẹ naa dabi eyi:

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

Agbegbe ti o tobi pupọ ti ṣẹda ni ayika ohun elo naa (fere 6 ẹgbẹrun irawọ lori GitHub). Ati pe awọn ile-iṣẹ wa ti o lo awọn irinṣẹ perf, fun apẹẹrẹ Netflix. Ṣugbọn ọpa naa ti ni idagbasoke siwaju ati tunṣe (botilẹjẹpe awọn imudojuiwọn ti tu silẹ laipẹ laipẹ). Nitorinaa, awọn aṣiṣe le waye ninu iṣiṣẹ rẹ - onkọwe kọwe pe nigbakan awọn irinṣẹ perf-fa ijaaya kernel.

lvm-mca

IwUlO ti o sọ asọtẹlẹ iye awọn orisun ẹrọ iširo yoo nilo lori awọn CPUs oriṣiriṣi. Arabinrin akojopo Awọn ilana fun Yiyika (CPI) ati fifuye lori ohun elo ti ohun elo kan pato n gbejade.

lvm-mca ti gbekalẹ ni ọdun 2018 gẹgẹbi apakan ti iṣẹ akanṣe naa LLVM, eyiti o n ṣe idagbasoke eto gbogbo agbaye fun itupalẹ, iyipada ati iṣapeye awọn eto. O jẹ mimọ pe awọn onkọwe llvm-mca ni atilẹyin nipasẹ ojutu kan fun itupalẹ iṣẹ ṣiṣe sọfitiwia IACA lati Intel o si wa lati ṣẹda yiyan. Ati ni ibamu si awọn olumulo, iṣelọpọ ọpa (ipilẹṣẹ wọn ati opoiye) jọra gaan IACA - apẹẹrẹ le ṣee ri nibi. Sibẹsibẹ, llvm-mca nikan gba AT&T sintasi, nitorinaa o ṣeese julọ lati lo awọn oluyipada lati ṣiṣẹ pẹlu rẹ.

Ohun ti a ko nipa lori wa awọn bulọọgi ati awujo nẹtiwọki:

Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣi "Mat. Awoṣe Odi Street" tabi bii o ṣe le mu awọn idiyele awọsanma pọ si

Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣi Bii o ṣe le ni aabo eto Linux rẹ: awọn imọran 10
Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣi Dinku awọn ewu: bii o ṣe le padanu data rẹ

Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣi Awọn iwe fun awọn ti o ti ni ipa tẹlẹ ninu iṣakoso eto tabi ti n gbero lati bẹrẹ
Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣi Aṣayan: awọn iwe marun ati ẹkọ kan lori awọn nẹtiwọki

Awọn aṣepari fun awọn olupin Linux: yiyan ti awọn irinṣẹ ṣiṣiA ni 1cloud.ru nfunni ni iṣẹ ọfẹ kan "Alejo DNS" O le ṣakoso awọn igbasilẹ DNS ni akọọlẹ ti ara ẹni kan.

orisun: www.habr.com

Fi ọrọìwòye kun