- Ama-Cpuset ayisistimu encane yama-cgroups ekhawulela ukuthi yimaphi ama-CPU kanye nezinqubo zama-memory node ezingasebenza kuwo futhi zigcine imemori kuwo.
- Ukucushwa kwenziwa ngesistimu yamafayela e-cgroup, kudala amazinga ezinhlu zemibhalo nokulungisa amafayela afana ne-cpuset.cpus kanye ne-cpuset.mems.
- Izilawuli ezengeziwe ezifana ne-CPU, inkumbulo, noma i-blkio zivumela ukukhawulela nokubalwa kwe-CPU, i-RAM, kanye ne-I/O, okuhlanganisa amasethi e-CPU kusu lokuphathwa kwezinsiza zomhlaba wonke.
- Ku-cgroup v2, abalawuli abanjengo-cpu kanye ne-cpuset bahlanganiswa babe umuthi owodwa, okuvumela ama-quota e-CPU aqondile ngamafayela afana ne-cpu.max.
Uma usebenza namaseva Linux Njengoba ugcwele izinsizakalo, kungenzeka ukuthi uke wazibuza ukuthi kanjani sabalalisa kahle I-CPU nememori phakathi kwezinqubo ngaphandle kokuthi enye inqobe enye. Izinto eziza kuqala nice Futhi imikhawulo yakudala iyasiza, kodwa uma wonke umuntu efuna zonke izinsiza, uhlelo luba yihlathi.
Yilapho izingxenye ezimbili ezibalulekile ze-kernel ziqala khona ukusebenza: ama-cgroup kanye nesistimu encane ye-cpusetNgenxa yabo unganquma ngokunembile ukuthi yiziphi izinqubo ezisebenzisa ama-CPU nokuthi yimaphi ama-node enkumbulo, uqaphe ukusetshenziswa kwawo, ukhawulele i-bandwidth ye-CPU noma yediski, futhi uwahlanganise ukuze adale "ama-partitions athambile" ngaphakathi kweseva efanayo.
Ayini amaqembu futhi kungani ebalulekile?
I-Los lawula amaqembu (amaqembu) Ziyindlela yokusebenza kwe-kernel ye-Linux ye izinqubo zeqembu futhi zisebenzise izinqubomgomo zezinsiza ezivamile kuboI-CPU, imemori, i-disk I/O, amadivayisi, inethiwekhi, njll. Lokhu akuthathi indawo yezimvume zendabuko, kodwa kunalokho kuyahambisana nombono we- malini Iqembu ngalinye lidla, hhayi elilodwa kuphela. ngani inokufinyelela.
Uma kuqhathaniswa namathuluzi endabuko anjalo nice, ionice o limits.confama-cgroup akuvumela ukuthi uchaze amazinga eqembu lapho isethi ngayinye yezinqubo ithola ingxenye echazwe kusengaphambili yezinsizakusebenza, kungakhathaliseki ukuthi zingaki izinqubo ngaphakathi kweqembu ngalinye.
Ezinhlamvini zanamuhla, amaqembu e-c abonakala nge- uhlelo lwefayela olubonakalayo (i-cgroup v1 noma i-cgroup v2) evame ukufakwa kuyo /sys/fs/cgroupUhla lwemibhalo olungaphansi ngalunye lumelela iqembu, futhi amafayela angaphakathi kwalo akuvumela ukuthi ubuke futhi ushintshe ukucushwa kwalo.
ama-cpusets: uhlelo olungaphansi lwezinqubo zokubopha kuma-CPU nama-node ememori
Ngaphakathi kwamaqembu, Isethi ye-CPU ingabe umlawuli (isistimu engaphansi) unesibopho salokho khawulela ukuthi yimaphi ama-CPU nokuthi yimaphi ama-node ememori Ingasebenzisa futhi yabelane ngememori yesethi yemisebenzi. Lokhu kuwusizo kakhulu ku imishini emikhulu ngama-cores amaningi kanye ne-topology ye-NUMA, kodwa futhi kunengqondo kumaseva aphansi kakhulu uma ufuna ukuhlukanisa umthwalo womsebenzi.
Isethi ngayinye ye-CPU ichaza amasethi amabili ayisisekelo:
cpuset.cpus: uhlu lwama-CPU lapho imisebenzi yeqembu ingasebenza khona.cpuset.mems: uhlu lwama-node enkumbulo lapho leyo misebenzi ingagcina khona inkumbulo.
Uma inqubo ibiza sched_setaffinity(), mbind() o set_mempolicy(), i-kernel hlunga lezo zicelo ukuze bakwazi ukusebenzisa ama-CPU nama-node afakiwe kuphela kusethi yabo yamanje ye-CPU. Ngaphezu kwalokho, umshejuli ngeke ahlele lowo msebenzi ku-CPU engekho kumaski wayo ovunyelwe, futhi isabelo sekhasi ngeke sigcine imemori kuma-node angaphandle kwayo. mems.
Kungani ama-CPUset ewusizo kangaka ezinhlelweni ezinkulu
Kumaseva anama-CPU amaningi kanye nememori esatshalaliswe kuma-node amaningi, inqubo kanye nokubekwa kwememori Kunomthelela omkhulu ekusebenzeni. Ukufinyelela imemori "ekude" emshinini we-NUMA kungaba kancane kakhulu kunokufinyelela imemori yendawo ye-node lapho i-CPU isebenza khona.
Ngama-CPUset ungakha izingxenye ezincane zomshini (izingxenye ezithambile) bese unikeza imisebenzi yonke kulawo ma-subset: isibonelo, iqembu elilodwa lama-cores nama-memory node e-database, elinye le-web front end, kanye nelinye lemithwalo yemisebenzi edinga ukubalwa. La maqembu angaba lungisa ngokuguquguqukayo kuye ngomthwalo wesistimu, ngaphandle kokuphazamisa imisebenzi esivele isebenza kwezinye izingxenye.
Kuyindlela evame kakhulu ku:
- Amaseva ewebhu ezisebenzisa izimo eziningi zesevisi efanayo.
- Imishini exubile ngewebhu, isizindalwazi kanye namanye ama-daemon abelana ngawo hardware.
- Amaqoqo e-NUMA kanye ne-HPC ezisebenzisa izinhlelo zokusebenza zesayensi ezizwela ukubambezeleka kwenkumbulo.
Isibonelo esisebenzayo: ukuthambisa i-Apache ehahayo ngama-cgroups kanye ne-cpuset
Cabanga ngeseva ene cores ezimbili kanye neseva ye-Apache eqalisa izinqubo zezingane ngendlela eguquguqukayo. Ngisho noma zonke zifana niceEmpeleni, i-CPU etholakalayo kwezinye izinsizakalo izoncika enanini lezinqubo ze-Apache ezisebenzayo nganoma yisiphi isikhathi.
Ngokuza kuqala okuvamile Izinto ezinjengalezi zenzeka:
- I-Apache enezinqubo ezingu-9 kanye nenye insizakalo eno-1: eyesibili ithola I-CPU engu-10%.
- I-Apache enezinqubo ezingu-99 kanti enye ino-1: eyesibili yehlela ku- I-CPU engu-1%.
Okubalulekile akushintshi, kodwa inani lezinqubo yeboFuthi lokho kubhubhisa ubulungiswa. Nge-cgroups kanye ne-cpuset ungakha amaqembu amabili: elilodwa le-Apache kanye nelinye lakho konke okunye, bese utshela i-kernel ukuthi iqembu ngalinye linikezwe, isibonelo, 50% we-CPU, kungakhathaliseki ukuthi bahlela inani lezinqubo ezingakanani ngaphakathi.
Ukufaka uhlelo lwefayela le-cpuset (i-cgroup v1)
Kuma-distribution amaningi amanje (I-Fedora, i-RHEL yesimanje, i-systemdAma-cgroup afakwa ngokuzenzakalelayo, futhi i-systemd iqoqa ngokuzenzakalelayo izinsizakalo. Ezinhlelweni ezindala (isibonelo, i-Ubuntu 12.04/14.04 enokulungiswa okuvamile), ungayifaka ngesandla i-cpuset subsystem kanje:
mount -t tmpfs -o size=5M cgroup_root /sys/fs/cgroup
mkdir /sys/fs/cgroup/cpuset
mount -t cgroup -o cpuset cpuset /sys/fs/cgroup/cpuset
Ngalokhu udale i- tmpfs Ukugcina izikhundla, isiqondisi cpuset okuzosebenza njengendawo yokukhweza futhi, ekugcineni, usufake uhlelo lwefayela cgroup kukhawulelwe kumlawuli Isethi ye-CPU.
Uma uhlola /sys/fs/cgroup/cpuset Uzobona amafayela afana nalawa:
tasksycgroup.procs: uhlu lwemisebenzi kanye nama-ID amaqembu ezingxoxo angamalungu eqembu.cpuset.cpusAma-CPU avunyelwe kuleli qembu.cpuset.mems: ama-node enkumbulo avunyelwe.- Amafulegi amaningana engeziwe:
cpuset.cpu_exclusive,cpuset.mem_exclusive,cpuset.memory_migrate, Njll
Ukudala amaqembu amancane nokwabela ama-CPU/imemori
Ifolda ngayinye engaphansi oyidala ngaphansi kwayo /sys/fs/cgroup/cpuset Kuyinto a isethi entsha ye-CPU yenganeUkukususa (uma kungenalutho) kwenziwa nge rmdirIsibonelo, ukuhlukanisa uhlelo lube amaqembu amabili, elilodwa ngomongo ngamunye:
cd /sys/fs/cgroup/cpuset
mkdir grupo-A grupo-B
echo 0 > grupo-A/cpuset.cpus
echo 1 > grupo-B/cpuset.cpus
echo 0 > grupo-A/cpuset.mems
echo 0 > grupo-B/cpuset.mems
Udale amasethi amabili e-CPU, iqembu-A y iqembu-BEyokuqala isebenzisa i-CPU 0 kuphela kanti eyesibili isebenzisa i-CPU 1. Zombili zabelana nge-node eyodwa yememori yomshini engu-0.
Ukuhlanganisa izinqubo nesethi ye-CPU
Ukubeka imisebenzi kusethi ye-CPU, mane nje bhala i-PID yakho kufayela tasks yalelo qembu. Inqubo ingaba ngeyeqembu elilodwa kuphela ngaphakathi kohlelo oluthile; uma uyihambisa, iyanyamalala ohlwini lwabazali.
Ake sithi uvula amagobolondo amabili amasha, anama-PID angu-3435 kanye no-3492. Ekuqaleni zizoba seqoqweni le-CPU eliyimpande.Ungazithumela emaqenjini amancane kanje:
echo 3435 > grupo-A/tasks
echo 3492 > grupo-B/tasks
Kusukela ngaleso sikhathi kuqhubeke, Konke okuqalwe kulawo magobolondo e-bash kuzozuza i-CPUset yawo.Uma usebenzisa izinqubo ezine kusuka ku-shell 3435 consume_cpu (i-binary eshisa i-CPU ku-loop), uzobona ama-PID ayo ngaphakathi grupo-A/tasks futhi i u-core 0 ngokugcwele kuyilapho i-core 1 isalokhu ingasebenzi.
Uma kamuva ufuna "ukusindisa" enye yalezo zinqubo bese uyinika umongo ophelele, ungakwenza hambisa i-PID yakho ku-CPUset yomfowabo:
echo 3621 > /sys/fs/cgroup/cpuset/grupo-B/tasks
Uma ubheka topUzobona ukuthi kanjani Womabili ama-CPU aqala ukusebenza, futhi inqubo ehanjisiwe ithatha iningi le-CPU 1, kuyilapho ezinye ezintathu zisebenzisa i-CPU 0.
Ezinye izilawuli zeqembu le-c ezitholakalayo
I-cpuset iyingcezu eyodwa nje yephazili. Amaqembu e-c ahlanganisa abalawuli abengeziwe abangasetshenziswa ndawonye ukuphathwa kwezinsizakusebenza okuhle kakhulu:
cpuLokhu kulawula isilinganiso sesikhathi se-CPU esabelwe iqembu ngalinye. Isibonelo, kuvumela iqembu elilodwa ukuthi libe no-80% we-CPU, elinye u-15%, kanye nelinye u-5%.cpuacctAkukhawuleli, kuphela ukubala el tiempo I-CPU isetshenziswa imisebenzi yeqembu kanye nenzalo yalo.blkio: ilawula umkhawulokudonsa we-I/O kumadivayisi ebhulokhi, ngezilinganiso ezilinganayo noma imikhawulo eqinile.memory: ibeka i-RAM futhi ishintshe imikhawulo futhi ibika ukusetshenziswa kwememori yiqembu.devices: ivumela noma yenqabela ukufinyelela ku- amadivaysi athile (isibonelo, ukukhiya idivayisi yebhulokhi esitsheni).freezer: misa isikhashana noma qhubeka yonke imisebenzi yeqembu.net_clsynet_prioBafaka ilebula kuthrafikhi yenethiwekhi noma balungise izinto eziza kuqala nge-interface ngayinye ukuze zihlanganiswetc.ns: ihlanganisa izinqubo zibe izikhala zamagama ezahlukene, eziwusizo ekwenzeni i-virtualization elula ngokuhlanganiswa nezikhala zamagama.perf_event: ivumela ukuqapha imisebenzi yeqembu le-c ngethuluziperf.
Imininingwane yangaphakathi yama-cpusets ku-kernel
Ezingeni le-kernel, umsebenzi ngamunye ugcina inkomba yesakhiwo seqembu le-c elikuso. Ama-cpusets achaza Amamaski e-CPU kanye ne-memory node ezihlangana nama-affinity mask kanye nezinqubomgomo ze-NUMA ezicelwe ngumsebenzi.
Amanye amaphuzu abalulekile kokusetshenziswa:
- El isethi ye-CPU yempande Iqukethe wonke ama-memory cores nama-node esistimu.
- I-cpuset ngayinye yengane kumele ibe isethi eqondile kusukela ezinsizakalweni zikababa.
- Isethi ye-CPU ingaphawulwa ngokuthi okukhethekile ye-CPU (
cpuset.cpu_exclusivenoma inkumbulo (cpuset.mem_exclusive): uma kunjalo, izinsiza zabo azikwazi ukufana nezabo bazalwane (yebo, nokhokho noma inzalo). - Azikho izingcingo ezintsha zesistimu ezengeziwe: konke kuphathwa nge uhlelo lwefayela le-cgroup kanye namafayela abonakalayo afana nalawa
cpuset.cpus,tasks, Njll
I-kernel ixhumanisa ama-cpusets ku- amaphuzu amaningana angabalulekile ekusebenzeni:
- Init: iqalisa i-root cpuset ekuqaleni.
- ifoloko/ukuphuma: ukuthola ifa nokukhulula ubulungu kuma-cpusets.
sched_setaffinity(): ifihla ukufana nemaski okuvunyelwe yi-cpuset.- Ukwabiwa kwememori: ikhawulela amakhasi kuma-node avunyelwe.
- Ukubuyiselwa kwenkumbulo kanye nokufuduka kwemisebenzi: imikhawulo ye-cpuset iyahlonishwa ngangokunokwenzeka.
Amafulegi namafayela abalulekile e-cpuset
Isethi ngayinye ye-CPU inayo, ngaphezu kwe cpuset.cpus y cpuset.mems, eyodwa uchungechunge lwamafayela okucushwa ezilawula ukuziphatha okuthuthukile:
cpuset.memory_migrateUma isethwe ku-1, uma ushintsha isethi ye-CPU noma ushintshamemsAmakhasi akhona akhona fuduka kuma-node amasha, ehlonipha indawo ehlobene ngangokunokwenzeka.cpuset.mem_hardwallycpuset.mem_exclusiveUma zisebenza, ziqinisa isithiyo senkumbulo futhi zikhawulele ngisho nokugcinwa kwe-kernel ethile okwabelwana ngayo.cpuset.memory_pressureycpuset.memory_pressure_enabledZiveza isilinganiso sokucindezeleka kwenkumbulo (ukubuyiswa okuqondile ngomzuzwana) ngesilinganiso esihambayo, esiwusizo kubahleli bezinhlelo kanye nabahleli beqembu.cpuset.memory_spread_pageycpuset.memory_spread_slabUma inikwe amandla, i-kernel isabalalisa amakhasi e-cache yefayela kanye nama-slabs athile. kumodi ye-robin eyindilinga ngama-node avunyelwe, esikhundleni sokuhlala ukhetha i-node yendawo.cpuset.sched_load_balance: ilawula ukuthi ngabe umhleli weshejuli uzama yini ukulinganisela umthwalo phakathi kwama-CPU kusethi ye-CPU.cpuset.sched_relax_domain_level: ilungisa ububanzi (isokhethi, i-node, uhlelo lonke) lwemisebenzi ethile yokufuduka kwemisebenzi ngaphakathi kwezizinda zokuhlela.
Ngaphezu kwalokho, kusethi ye-CPU yempande uzothola cpuset.effective_cpus y cpuset.effective_memsezibonisa izinsiza ezisebenziseka ngempela, kucatshangelwa imicimbi ye-CPU/memory hotplug. Kumodi ekhethekile cpuset_v2_modeLawa mafayela angahluka ku- cpuset.cpus y cpuset.mems ukugcina ukuziphatha okufana kakhulu nokweqembu le-c2.
Ukusebenzisana nomhleli wesheduli: schedule_load_balance kanye ne-schedule_relax_domain_level
I-Linux scheduler ihlukanisa uhlelo lube izizinda zokuhlela ukunciphisa izindleko zokulinganisela umthwalo. Ukulinganisa phakathi kwama-core amaningi kuyabiza, ngakho-ke kuvame ukwenziwa ngamaqembu (ngesokhethi ngayinye, ngenodi ngayinye, njll.).
Ifulegi cpuset.sched_load_balance Lokhu kulungiselelwa kubonisa ukuthi ama-CPU akulelo sethi ye-CPU kumele abe sesizinda esifanayo yini ukuze kuvunyelwe ishejuli ukuthi ihambise imisebenzi ngokukhululeka ngaphakathi kwayo. Ukukhubaza lokhu kulungiselelwa kusethi ye-CPU eyinhloko nokuyivumela kuphela kwamanye amasethi e-CPU amancane kungavimbela ukulinganiswa komthwalo okungadingekile kwama-CPU agcinelwe imithwalo yemisebenzi yesikhathi sangempela noma ethize kakhulu.
Ifayela cpuset.sched_relax_domain_level ikuvumela ukuthi ulungise ukuthi umhleli wesheduli angabukeka kangakanani uma:
- Umsebenzi uyavuswa bese kwenziwa umzamo wokuwubeka endaweni ekhululekile eseduze.
- I-CPU eyodwa ishiywa ingasebenzi bese ithatha imisebenzi evela kuma-CPU alayishwe kakhulu.
Amanani ajwayelekile (ancike ekwakhiweni kwezakhiwo) asukela ku- 0 (ungaseshi) kuze kube yilapho 5 (sesha ezingeni eliphelele lesistimu ezinhlelweni ze-NUMA), ngamazinga aphakathi kwamamaki ango-HT, ama-cores esokhethi elifanayo, ama-node, njll. Kuyithuluzi elinohlaka oluhle okufanele lisetshenziswe kuphela uma ucacelwe kahle ngomthelela kuma-latency nama-cache.
Indlela yokusebenzisa ama-cpusets ekusebenzeni: ukugeleza okuvamile
Ukuhamba komsebenzi Ukuze uqukathe "umsebenzi" noma isevisi ngaphakathi kwesethi ethile ye-CPU, ngokuvamile kuba:
- Qiniseka ukuthi ufake isistimu yamafayela ye-cgroup/cpuset (v1 noma v2).
- Dala isethi ye-CPU con
mkdirohlelweni oluhambisanayo. - Setha
cpuset.cpusycpuset.memsngaphambi kokwengeza imisebenzi. - Nika amandla amafulegi ngokuzithandela njenge
memory_migrateocpu_exclusive. - Qala inqubo "yomzali" yokulayisha kanye hambisa i-PID yayo kusethi ye-CPU ukuyibhala
tasksocgroup.procs. - Izinqubo zengane ze-Launch (noma vumela i-launch) ezivela kulowo mzali; bazozuza ubulungu babo ku-cpuset.
Uma usebenzisa amathuluzi esikhala somsebenzisi njengoba cgroup-bin / libcgroup (ku-Debian/Ubuntu) noma okufanayo kwamanye ama-distros, ungakusingatha lokhu kalula nge imiyalo unomusa cgcreate, cgexec y cgclassifynoma ngisho namafayela okucushwa afana nalawa /etc/cgconfig.conf y /etc/cgrules.conf ukwabela amaqembu ngokusekelwe kumsebenzisi noma umyalo.
ama-cgroups v1 vs ama-cgroups v2: Abashayeli be-CPU kanye ne-cpuset ku-RHEL 8 kanye nezinhlelo ezifanayo
Ezinhlelweni zesimanje ezifana RHEL 8i-kernel isekela ngasikhathi sinye amaqembu e-c1 kanye ne-v2Ngokuzenzakalelayo, ku-RHEL 8 v1 ifakwe ku- ibhuthiniNoma kunjalo, ungaphoqa ukusetshenziswa kwemodi ehlanganisiwe (v2) ngamapharamitha e-kernel:
cgroup_no_v1=all: ikhubaza zonke izilawuli ze-v1 ekuqaleni.systemd.unified_cgroup_hierarchy=1: itshela i-systemd ukuthi isebenzise i-cgroup v2 njengohlu oluyinhloko.
Ngemva kokushintsha nokuqala kabusha, ungabheka mount o findmnt ukuthi azisekho izinhlobo zokuhlanganisa cgroup ama-classics (ngaphandle kwangaphakathi kwe-systemd) kanye ukuhlanganisa isihlahla ngesandla v2, ngokwesibonelo ku /cgroups-v2:
mount -t cgroup2 none /cgroups-v2
Kulolo hlu lwezimpande (iqembu lokulawula impande) uzobona amafayela ajwayelekile aqala ngo- cgroup.* kanye nezinye izilawuli ezithile ezisebenzayo lapho, njenge cpuset.cpus.effective o cpu.max.
Nciphisa i-CPU nge-cgroup v2: Umshayeli we-CPU kanye ne-cpuset ndawonye
Ku-v2 sisebenza ne- isihlahla esiyingqayizivele futhi abalawuli basebenza nge-subtree besebenzisa ifayela cgroup.subtree_controlIndlela ejwayelekile yokusebenza yokunciphisa ukusetshenziswa kwe-CPU ezinqubweni ezimbalwa izoba yile:
- Yenza abashayeli basebenze
cpuycpusetkubantwana abaqondile be- izimpande ukubhala ku-/cgroups-v2/cgroup.subtree_controlOkuthile okufana+cpu +cpuset. - Dala iqembu elincane, isibonelo
/cgroups-v2/Example/, ngemkdir. - Qinisekisa ukuthi amafayela afana
cpu.maxycpuset.cpus. - Lungisa
cpuset.cpusycpuset.memsukuqinisekisa ukuthi izinqubo zizoncintisana kuma-CPU/ama-node afanayo (isilawuli)cpuLokhu kusebenza kuphela uma okungenani kunezinqubo ezimbili ezincintisanayo ku-CPU efanayo. - Setha
cpu.maxngemali kanye nesikhathi, isibonelo:
echo "200000 1000000" > /cgroups-v2/Example/cpu.max
Kulokhu, zonke izinqubo zeqembu Bazokwazi ukusebenzisa imizuzwana engu-0,2 kuphela yesikhathi se-CPU ngomzuzwana ngokwemvelo. Isikhathi esisele bazoklinywa kuze kube yinkathi elandelayo.
Khona-ke kuphela engeza ama-PID yezicelo ezifunwayo eqenjini ngokuzibhala /cgroups-v2/Example/cgroup.procsUma, isibonelo, kunezinqubo ezimbili ezijulile (ama-PID 5439 kanye nama-5473) kulelo qembu, ngayinye izophela cishe I-CPU engu-10%ngoba babelana ngesabelo esingu-20% osibekile.
Amanye amathuluzi okuqonda i-CPU, i-affinity, kanye ne-hardware ku-Linux
Ukuze usebenze nama-CPUset, kuyasiza kakhulu ukuqonda kahle I-topology ye-CPU kanye nesimo se-CPU ohlelweni lwakho. I-Linux inikeza imiyalo eminingi, amafayela angamanga, namathuluzi afana I-CPU-X ye-Linux ezinikeza ulwazi oluningiliziwe:
lscpu: Ibonisa ngendlela efundeka kalula ukwakheka, inani lama-CPU anengqondo nangokwenyama, amasokhethi, i-hyper-threading, ama-cache, ukwesekwa kwe-virtualization, njll./proc/cpuinfo: iveza ulwazi oluningiliziwe nge-CPU logic: imodeli, umndeni, ukunyathela, i-microcode, amafulegi ezici (SSE, AVX, VT-x, AMD-V, NX, njll.)./sys/devices/system/cpu/: isakhiwo sesikhombisi esicebile kakhulu esinesikhombisi esingaphansi esisodwa nge-CPU ngayinye (cpu0,cpu1, ...) kanye nabanye i-cpufreq, i-cpuidle, i-microcode, i-topology, Njll
Ngaphakathi /sys/devices/system/cpu/cpu0/cpufreq/ Ungabona, isibonelo: (futhi ukuthola eminye imininingwane, Indlela yokuthola imvamisa ye-CPU).
cpuinfo_cur_freq: imvamisa yamanje.scaling_max_freqyscaling_min_freq: imikhawulo lapho i-cpufreq ingakala khona.scaling_governor: inqubomgomo esebenzayo (ukusebenza, gcina amandla, efunwa kakhulu, Njll).scaling_available_governorsyscaling_driver: izindlela kanye nomshayeli osetshenziswayo (isibonelo,intel_pstate).
En /sys/devices/system/cpu/cpu0/cpuidle/ Uzobona izimo zokuphumula (state0, state1, ...) ngokubambezeleka kanye nokusetshenziswa, okuphathwa yisistimu engaphansi i-cpuidleLokhu, kanye i-cpufreq Futhi umhleli wezinhlelo unquma ukuthi uzowacisha nini ama-core noma anciphise amaza ukuze onge amandla ngokusekelwe emthwalweni.
En Amadivayisi eselula iqala ukusetshenziswa Ukuhlela Okuqapha Amandla (i-EAS), okuhlanganisa ngokuhlakanipha izinqumo ezivela ku-cpuidle, i-cpufreq kanye nomhleli wesheduli ukuze kugwenywe ukungahambisani njengokuvusa ama-core asebenza ngogesi lapho amanye ama-core asebenzayo etholakala.
Linganisa futhi uqaphe ukusetshenziswa kwe-CPU ngenqubo nangeqembu
Uma usebenza ngamasethi e-CPU kanye nabashayeli be-CPU, udinga amathuluzi ukuze bona ukuthi lokho okulungisile kunomthelela yiniIsibonelo, uma i-VM ithanda I-VirtualBox isebenzisa i-CPU eningi kakhuluEzinye izinketho ezivame kakhulu yilezi:
topUkubukwa kwesistimu okuguquguqukayo ngokusetshenziswa kwe-CPU iyonke, nge-CPU ngayinye, kanye nenqubo ngayinye. Inkambu % CPU Ikuvumela ukuthi ubone ukuthi yimiphi imisebenzi ethwala kakhulu uhlelo.mpstat(kusuka kuphakheji)sysstat): Izibalo ze-CPU kanye nezibalo ezihlanganisiwe, eziwusizo ekubukeni ukusatshalaliswa komthwalo kanye nezikhathi zokungasebenzi (ukungasebenzi, iowait, ukweba, njll.).pskuhlanganiswesortUngabhala izinqubo ezisebenzisa i-CPU eningi, isibonelo:
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
Ngaphezu kwalokho, amafayela e-accounting afana nalawa cpuacct.usage y cpuacct.usage_percpu (ku-v1) noma amakhawunta akhelwe ngaphakathi ku-cgroup v2 akwazisa ukuthi iqembu elithile lisebenzise i-CPU engakanani selokhu ladalwa, okuyinto efanele ukukhokhisa kwangaphakathi noma ukuqhathanisa umthelela wezinhlelo zokusebenza ezahlukene.
Ekugcineni, ama-cpusets nama-cgroup akunika ikhono lokwenza kanjalo. fanisa umshini wakho njengeqoqo lezinsiza "zeziqhingi"ukwabela imisebenzi nokulungisa ngokushesha indlela i-CPU, inkumbulo, kanye ne-I/O ezisatshalaliswa ngayo. Ukuqonda okuphelele kwamafayela e- /sys/fs/cgroup futhi of /sys/devices/system/cpu, kanye namathuluzi okuqapha, kukuvumela ukuthi usuke "ekuboneni nje ukuthi iseva isebenza kanjani" uye ekubeni nokulawula okuhle kakhulu kwalokho okusebenzayo lapho, ukuthi kudla malini nokuthi ungakuthuthukisa kanjani ukuziphatha kwayo lapho umthwalo uncipha.
Umbhali oshisekayo ngomhlaba wamabhayithi nobuchwepheshe ngokujwayelekile. Ngiyathanda ukwabelana ngolwazi lwami ngokubhala, futhi yilokho engizokwenza kule bhulogi, ngikubonise zonke izinto ezithakazelisayo kakhulu ngamagajethi, isofthiwe, ihadiwe, izitayela zobuchwepheshe, nokuningi. Inhloso yami ukukusiza ukuthi uzulazule emhlabeni wedijithali ngendlela elula nejabulisayo.
