Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု

ကျွန်ုပ်တို့သည် Linux စက်များတွင် CPU စွမ်းဆောင်ရည်ကို အကဲဖြတ်ရန်အတွက် ကိရိယာများအကြောင်း ဆက်လက်ပြောဆိုပါသည်။ ယနေ့ အကြောင်းအရာတွင် temci၊ uarch-bench၊ likwid၊ perf-tools နှင့် llvm-mca။

နောက်ထပ် စံသတ်မှတ်ချက်များ-

Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု
ဓါတ်ပုံ - Lukas Blazek - Splash ကိုဖြုတ်ပါ။

temci

၎င်းသည် ပရိုဂရမ်နှစ်ခု၏ လုပ်ဆောင်ချိန်ကို ခန့်မှန်းရန် ကိရိယာတစ်ခုဖြစ်သည်။ အခြေခံအားဖြင့်၊ ၎င်းသည် သင့်အား အပလီကေးရှင်းနှစ်ခု၏ လုပ်ဆောင်ချိန်ကို နှိုင်းယှဉ်နိုင်သည်။ utility ကိုရေးသားသူသည် 2016 ခုနှစ်တွင်သူ၏ဘွဲ့ကြိုစာတမ်း၏တစ်စိတ်တစ်ပိုင်းအဖြစ်၎င်းကိုတီထွင်ခဲ့သောဂျာမနီမှ Johannes Bechberger မှကျောင်းသားဖြစ်သည်။ ယနေ့ကိရိယာ ဖြန့်ဝေသည် GNU အထွေထွေအများပြည်သူလိုင်စင်အောက်တွင်လိုင်စင်ရှိသည်။

Johannes သည် ထိန်းချုပ်ထားသော ပတ်ဝန်းကျင်တွင် ကွန်ပျူတာစနစ်၏ စွမ်းဆောင်ရည်ကို တိုင်းတာနိုင်စေမည့် ကိရိယာတစ်ခုကို ဖန်တီးလိုခဲ့သည်။ ထို့ကြောင့်၊ temci ၏အဓိကအင်္ဂါရပ်များထဲမှတစ်ခုသည်စမ်းသပ်မှုပတ်ဝန်းကျင်တစ်ခုတည်ဆောက်နိုင်မှုဖြစ်သည်။ ဥပမာအားဖြင့်, နိုင်: CPU ကြိမ်နှုန်း မန်နေဂျာ ဆက်တင်များကို ပြောင်းပါ၊ ပိတ်ပါ။ hyper threading နှင့် L1 နှင့် L2 ကက်ရှ်များ၊ Intel ပရိုဆက်ဆာများပေါ်ရှိ တာဘိုမုဒ်ကို ပိတ်ပါ စသည်ဖြင့် စံသတ်မှတ်ခြင်းအတွက် temci ကိရိယာများကို အသုံးပြုသည် အချိန်, perf_stat и အပျော်တမ်း.

ဤအရာသည် ပထမကိစ္စတွင် အသုံးဝင်ပုံဖြစ်သည်။

# 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

စံနှုန်းရလဒ်များအပေါ် အခြေခံ၍ စနစ်က ထုတ်ပေးသည်။ အဆင်ပြေကြောင်းသတင်းပို့ temci ကို အလားတူဖြေရှင်းချက်များနှင့် ခွဲခြားပေးသော ပုံကြမ်းများ၊ ဇယားများနှင့် ဂရပ်များ။

temci ၏ချို့ယွင်းချက်များထဲတွင်၎င်း၏ "လူငယ်" သည်ထင်ရှားသည်။ ဤအရာကြောင့် သူ အရာအားလုံးကို မထောက်ခံဘူး။ ဟာ့ဒ်ဝဲနှင့် ဆော့ဖ်ဝဲလ်ဖွဲ့စည်းပုံများ။ ဥပမာအားဖြင့်၊ macOS တွင်လည်ပတ်ရန်ခက်ခဲပြီး အချို့သောအင်္ဂါရပ်များသည် ARM-based စနစ်တွင်မရရှိနိုင်ပါ။ စာရေးသူသည် ပရောဂျက်ကို တက်ကြွစွာ ဖော်ဆောင်နေပြီး GitHub တွင် ကြယ်အရေအတွက် တဖြည်းဖြည်း တိုးလာနေသောကြောင့် အနာဂတ်တွင် အခြေအနေ ပြောင်းလဲသွားနိုင်သည်။ မှတ်ချက်များတွင် ဆွေးနွေးခဲ့သည်။ Hacker သတင်းများ။

uarch-ခုံတန်းရှည်

အင်ဂျင်နီယာ Travis Downs မှတီထွင်ထားသော အဆင့်နိမ့် CPU လုပ်ဆောင်ချက်များ၏ စွမ်းဆောင်ရည်ကို အကဲဖြတ်ရန်အတွက် အသုံးဝင်မှုတစ်ခု၊Travis Downs) မကြာသေးမီက သူ ဘလော့ဂ်ရေးနေပါသည်။ စွမ်းဆောင်ရည်ကိစ္စများ စံသတ်မှတ်ခြင်းကိရိယာများနှင့် အခြားဆက်စပ်အရာများအကြောင်း ဆွေးနွေးသည့် GitHub စာမျက်နှာများ။ ယေဘူယျအားဖြင့်၊ uarch-bench သည် လူကြိုက်များစပြုနေပြီဖြစ်သော်လည်း၊ ၎င်းသည် သာမန်ဖြစ်နေပြီဖြစ်သည်။ ဖော်ပြခဲ့သည် စံညွှန်းသတ်မှတ်ခြင်းအတွက် စံပြုသည့်ကိရိယာတစ်ခုအဖြစ် အကြောင်းအရာအစီအစဥ်များရှိ Hacker News တွင်နေထိုင်သူများ။

Uarch-bench သည် သင့်အား မမ်မိုရီစွမ်းဆောင်ရည်၊ အပြိုင်ဒေတာတင်ခြင်းမြန်နှုန်းနှင့် သန့်ရှင်းရေးလုပ်ဆောင်မှုကို အကဲဖြတ်ရန် ခွင့်ပြုသည်။ YMM မှတ်ပုံတင်သည်။. ပရိုဂရမ်မှ ထုတ်ပေးသော စံနှုန်းရလဒ်များ မည်သို့မည်ပုံရှိသည်ကို တွေ့ရှိနိုင်သည်။ တရားဝင် repository ထဲမှာ စာမျက်နှာ၏အောက်ခြေတွင်။

temci ကဲ့သို့ uarch-ခုံတန်းလျား၊ ပိတ်သည်။ Intel Turbo Boost လုပ်ဆောင်ချက် (၎င်းသည် ဝန်အောက်ရှိ ပရိုဆက်ဆာနာရီအမြန်နှုန်းကို အလိုအလျောက်တိုးပေးသည်) စစ်ဆေးမှုရလဒ်များ ကိုက်ညီစေရန်။

ယခုအချိန်တွင်၊ ပရောဂျက်သည် ဖွံ့ဖြိုးတိုးတက်မှု၏အစောပိုင်းအဆင့်တွင်ရှိနေသောကြောင့် uarch-bench တွင်အသေးစိတ်စာရွက်စာတမ်းများမရှိပါ၊ ၎င်း၏လုပ်ဆောင်ချက်တွင် bugs များပါရှိသည် - ဥပမာ၊ အခက်အခဲတွေ သိတယ်။ Ryzen တွင်စတင်သည်။ ထို့အပြင်၊ x86 ဗိသုကာများအတွက် စံသတ်မှတ်ချက်များကိုသာ ပံ့ပိုးထားသည်။ စာရေးသူသည် အနာဂတ်တွင် ပိုမိုလုပ်ဆောင်နိုင်စွမ်းကို ထည့်သွင်းပေးမည်ဟု ကတိပြုပြီး ဖွံ့ဖြိုးတိုးတက်မှုတွင် ပါဝင်ရန် သင့်အား ဖိတ်ကြားပါသည်။

အရည်

၎င်းသည် Intel၊ AMD နှင့် ARMv8 ပရိုဆက်ဆာများဖြင့် Linux စက်များ၏ စွမ်းဆောင်ရည်ကို အကဲဖြတ်ရန်အတွက် ကိရိယာအစုံဖြစ်သည်။ ၎င်းကို ဂျာမန်ပြည်ထောင်စု ပညာရေးနှင့် သုတေသန ဝန်ကြီးဌာန၏ ပံ့ပိုးကူညီမှုအောက်တွင် 2017 ခုနှစ်တွင် ဖန်တီးခဲ့ပြီး open source အဖြစ် ထုတ်ပြန်ခဲ့သည်။

likwid ကိရိယာများထဲတွင်၊ သင့်အား ပရိုဆက်ဆာကြိမ်နှုန်းကို ထိန်းချုပ်နိုင်စေမည့် RAPL မှတ်ပုံတင်မှုများမှ အချက်အလက်များကို ပြသပေးသည့် likwid-powermeter များကို မီးမောင်းထိုးပြနိုင်ပါသည်။ စာရင်းအပြည့်အစုံကို ကြည့်ရှုနိုင်ပါသည်။ repository မှာရှာပါ။.

အဆိုပါကိရိယာကို HPC သုတေသနတွင်ပါ ၀ င်သောအင်ဂျင်နီယာများမှအသုံးပြုသည်။ ဥပမာအားဖြင့်၊ likwid နှင့် အလုပ်လုပ်ကိုင် ဂျာမနီရှိ University of Erlangen-Nuremberg (RRZE) ၏ ဒေသဆိုင်ရာ ကွန်ပျူတာစင်တာမှ ကျွမ်းကျင်သူများအဖွဲ့။ သူမသည် ဤကိရိယာအစုံ၏ ဖွံ့ဖြိုးတိုးတက်မှုတွင် တက်ကြွစွာပါဝင်ဆောင်ရွက်ပါသည်။

Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု
ဓါတ်ပုံ - Clem Onojeghuo ဖြစ်သည် - Splash ကိုဖြုတ်ပါ။

perf-tools များ

Linux ဆာဗာများ၏ စွမ်းဆောင်ရည်ကို ပိုင်းခြားစိတ်ဖြာရန် ဤကိရိယာ မိတ်ဆက်ပေးခဲ့သည် ဘရန်ဒန် ဂရက်ဂ်။ သူသည် developer တစ်ဦးဖြစ်သည်။ DTrace — အချိန်နှင့်တပြေးညီ အမှားရှာအပလီကေးရှင်းများအတွက် ဒိုင်းနမစ်ခြေရာခံခြင်းဘောင်။

perf-tools သည် perf_events နှင့် ftrace kernel subsystems များအပေါ် အခြေခံထားသည်။ ၎င်းတို့၏ အသုံးဝင်မှုများသည် သင့်အား I/O latency (iosnoop)၊ စနစ်ခေါ်ဆိုမှုဆိုင်ရာ အငြင်းပွားမှုများကို ခြေရာခံရန် (unccount၊ funcslower၊ funcgraph နှင့် functrace) နှင့် file cache (cachestat) တွင် “ hits” ဆိုင်ရာ စာရင်းဇယားများကို စုဆောင်းနိုင်သည်။ နောက်ဆုံးအခြေအနေတွင်၊ command သည်ဤကဲ့သို့ဖြစ်သည်။

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

တူရိယာပတ်လည်တွင် အတော်လေး ကြီးမားသော အသိုက်အဝန်းတစ်ခု ပေါ်ပေါက်လာခဲ့သည်။GitHub တွင် ကြယ် ၆ ထောင်နီးပါးရှိသည်။) ဥပမာ- perf-tools တွေကို တက်တက်ကြွကြွသုံးတဲ့ ကုမ္ပဏီတွေရှိတယ်။ Netflix နဲ့. သို့သော် ကိရိယာကို ထပ်မံတီထွင်ပြီး ပြုပြင်မွမ်းမံနေပါသည် (မွမ်းမံမှုများ မကြာသေးမီက ထွက်ရှိခဲသော်လည်း)။ ထို့ကြောင့်၊ ၎င်း၏လုပ်ဆောင်မှုတွင် အမှားအယွင်းများ ဖြစ်ပေါ်လာနိုင်သည် - တစ်ခါတစ်ရံ perf-tools များသည် kernel အထိတ်တလန့်ဖြစ်စေသည်ဟု စာရေးသူက ရေးသားခဲ့သည်။

llvm-mca

မတူညီသော CPU များတွင် ကွန်ပျူတာအရင်းအမြစ်များ စက်ကုဒ်မည်မျှလိုအပ်မည်ကို ခန့်မှန်းနိုင်သော အသုံးဝင်မှုတစ်ခု။ သူမ အကဲဖြတ်သည်။ စက်ဝန်းအလိုက် ညွှန်ကြားချက်များ (IPC) နှင့် အက်ပလီကေးရှင်းတစ်ခုမှထုတ်ပေးသော ဟာ့ဒ်ဝဲပေါ်တွင် ဝန်။

llvm-mca ကို ပရောဂျက်၏ တစ်စိတ်တစ်ပိုင်းအဖြစ် 2018 ခုနှစ်တွင် တင်ပြခဲ့ပါသည်။ LLVMခွဲခြမ်းစိတ်ဖြာခြင်း၊ အသွင်ပြောင်းခြင်းနှင့် ပရိုဂရမ်များကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းအတွက် စကြဝဠာစနစ်တစ်ခု ဖော်ဆောင်လျက်ရှိသည်။ llvm-mca ၏ရေးသားသူများသည် ဆော့ဖ်ဝဲစွမ်းဆောင်ရည်ကို ပိုင်းခြားစိတ်ဖြာခြင်းအတွက် အဖြေတစ်ခုဖြင့် လှုံ့ဆော်ခံခဲ့ရကြောင်း သိရှိရပါသည်။ Intel မှ IACA အခြားရွေးချယ်စရာတစ်ခုဖန်တီးရန် ရှာဖွေခဲ့သည်။ သုံးစွဲသူများအဆိုအရ၊ ကိရိယာ၏အထွက် (၎င်းတို့၏ အပြင်အဆင်နှင့် အရေအတွက်) သည် IACA နှင့် ဆင်တူသည် - ဥပမာ ဤနေရာတွင် တွေ့နိုင်သည်။. သို့သော်လည်း llvm-mca ကသာ လက်ခံသည်။ AT&T အထားအသိုထို့ကြောင့် ၎င်းနှင့်လုပ်ဆောင်ရန် converters များကို သင်အသုံးပြုရန် ဖြစ်နိုင်ခြေများပါသည်။

ကျွန်ုပ်တို့၏ဘလော့ဂ်များနှင့် လူမှုကွန်ရက်များတွင် ကျွန်ုပ်တို့ရေးသားထားသည်များ-

Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု “ဖျာ။ Wall Street မော်ဒယ်" သို့မဟုတ် cloud ကုန်ကျစရိတ်များကို ပိုမိုကောင်းမွန်အောင် ပြုလုပ်နည်း

Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု သင်၏ Linux စနစ်အား လုံခြုံအောင်ပြုလုပ်နည်း- အကြံပြုချက် ၁၀
Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု အန္တရာယ်များကို လျှော့ချခြင်း- သင့်ဒေတာကို မဆုံးရှုံးအောင် ပြုလုပ်နည်း

Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု စနစ်စီမံခန့်ခွဲမှုတွင်ပါဝင်နေပြီး သို့မဟုတ် စတင်ရန်စီစဉ်နေသူများအတွက် စာအုပ်များ
Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု ရွေးချယ်မှု- စာအုပ်ငါးအုပ်နှင့် ကွန်ရက်ဆိုင်ရာ သင်တန်းတစ်ခု

Linux ဆာဗာများအတွက် စံသတ်မှတ်ချက်များ- အဖွင့်ကိရိယာများ ရွေးချယ်မှု1cloud.ru တွင်ကျွန်ုပ်တို့သည်အခမဲ့ ၀ န်ဆောင်မှုပေးသည်DNS hosting“ သင်သည် ကိုယ်ပိုင်အကောင့်တစ်ခုတည်းတွင် DNS မှတ်တမ်းများကို စီမံခန့်ခွဲနိုင်သည်။

source: www.habr.com

မှတ်ချက် Add