- CPU kopas ir cgroups apakšsistēma, kas ierobežo, kuros procesoros un atmiņas mezglos var darboties procesi un rezervēt atmiņu.
- Konfigurācija tiek veikta, izmantojot cgroup failu sistēmu, izveidojot direktoriju hierarhijas un pielāgojot tādus failus kā cpuset.cpus un cpuset.mems.
- Papildu kontrolieri, piemēram, CPU, atmiņa vai blkio, ļauj ierobežot un ņemt vērā CPU, RAM un I/O, integrējot CPU komplektus globālā resursu pārvaldības stratēģijā.
- Cgroup v2 versijā tādi kontrolieri kā cpu un cpuset ir apvienoti vienā kokā, kas ļauj precīzi noteikt CPU kvotas, izmantojot tādus failus kā cpu.max.
Ja strādājat ar serveriem Linux Tā kā ir daudz pakalpojumu, jūs droši vien esat domājuši, kā labi sadaliet CPU un atmiņa starp procesiem, vienam nepārspīlējot ar otru. Prioritātes ar nice Un klasiskie ierobežojumi palīdz, bet, kad visi vēlas visus resursus, sistēma kļūst par džungļiem.
Šeit spēlē lomu divas kodola galvenās daļas: cgroups un cpuset apakšsistēmaPateicoties tiem, jūs varat precīzi izlemt, kuri procesi izmanto kurus centrālos procesorus un kurus atmiņas mezglus, uzraudzīt to patēriņu, ierobežot to centrālā procesora vai diska joslas platumu un pat grupēt tos, lai izveidotu "mīkstās starpsienas" vienā serverī.
Kas ir cgroups un kāpēc tās ir svarīgas?
L kontroles grupas (cgrupas) Tie ir Linux kodola mehānisms grupēt procesus un piemērot tiem kopīgas resursu politikasCPU, atmiņa, diska I/O, ierīces, tīkls utt. Tās neaizstāj tradicionālās atļaujas, bet gan papildina tās no cik daudz Katra grupa patērē, ne tikai viena. kāpēc ir piekļuve.
Salīdzinot ar tradicionālajiem rīkiem, piemēram, nice, ionice o limits.confcgroups ļauj definēt grupu hierarhijas kurā katrs procesu kopums saņem iepriekš noteiktu resursu daļu neatkarīgi no tā, cik procesu ir katrā grupā.
Mūsdienu kodolos c grupas tiek atklātas, izmantojot a virtuālā failu sistēma (cgroup v1 vai cgroup v2), parasti uzstādīts uz /sys/fs/cgroupKatrs apakšdirektorijs apzīmē grupu, un tajā esošie faili ļauj skatīt un mainīt tās konfigurāciju.
procesoru kopas: apakšsistēma procesu saistīšanai ar centrālajiem procesoriem un atmiņas mezgliem
C grupu ietvaros CPU komplekts ir kontrolieris (apakšsistēma), kas ir atbildīgs par ierobežot, kurus procesorus un kurus atmiņas mezglus Tas var izpildīt un piešķirt atmiņu uzdevumu kopai. Tas ir īpaši noderīgi, lielas mašīnas ar daudziem kodoliem un NUMA topoloģiju, taču tas ir lietderīgi arī pieticīgākos serveros, ja vēlaties izolēt darba slodzes.
Katrs CPU komplekts definē divas fundamentālas kopas:
cpuset.cpus: centrālo procesoru saraksts, kuros var darboties grupas uzdevumi.cpuset.mems: atmiņas mezglu saraksts, kuros šie uzdevumi var rezervēt atmiņu.
Kad process izsauc sched_setaffinity(), mbind() o set_mempolicy()kodols filtrēt šos pieprasījumus lai viņi varētu izmantot tikai tos centrālos procesorus un mezglus, kas iekļauti viņu pašreizējā centrālo procesoru komplektā. Turklāt plānotājs nekad neplānos šo uzdevumu centrālajam procesoram, kas neatrodas tā atļautajā maskā, un lapas piešķīrējs nerezervēs atmiņu mezglos ārpus tā. mems.
Kāpēc centrālie procesori ir tik noderīgi lielās sistēmās
Serveros ar daudziem centrālajiem procesoriem un atmiņu, kas sadalīta vairākos mezglos, procesa un atmiņas izvietojums Tam ir milzīga ietekme uz veiktspēju. Piekļuve "attālajai" atmiņai NUMA datorā var būt daudz lēnāka nekā piekļuve lokālajai atmiņai mezglā, kurā darbojas centrālais procesors.
Ar centrālo procesoru komplektiem jūs varat izveidot mašīnu apakškopas (mīkstās starpsienas) un piešķirt veselus uzdevumus šīm apakškopām: piemēram, vienu kodolu un atmiņas mezglu grupu datubāzei, citu tīmekļa lietotāja saskarnei un vēl vienu skaitļošanas ziņā ietilpīgām darba slodzēm. Šīs grupas var būt dinamiski pielāgot atkarībā no sistēmas slodzes, netraucējot darbiem, kas jau darbojas citās nodalījumos.
Tā ir ļoti izplatīta stratēģija jo:
- Web serveri kas darbina vairākus viena un tā paša pakalpojuma gadījumus.
- Jauktas mašīnas ar tīmekļa, datubāzes un citu dēmonu koplietošanu detaļas.
- NUMA un HPC klasteri kas darbina zinātniskus lietojumus, kas ir jutīgi pret atmiņas latentumu.
Praktisks piemērs: alkatīga Apache pieradināšana ar cgroups un cpuset
Iedomājieties serveri ar divi kodoli un Apache serveris, kas dinamiski palaiž bērnu procesus. Lai gan tiem visiem ir vienāds nicePraksē pārējiem pakalpojumiem pieejamais centrālais procesors (CPU) būs atkarīgs no aktīvo Apache procesu skaita jebkurā laikā.
Ar normālām prioritātēm Šādas lietas notiek:
- Apache ar 9 procesiem un vēl viens pakalpojums ar 1: otrais saņem 10% centrālā procesora.
- Apache ar 99 procesiem un otrs ar 1: otrais nokrītas līdz a 1% centrālā procesora.
Prioritāte nemainās, bet... procesu skaits jāUn tas iznīcina taisnīgumu. Ar cgroups un cpuset var izveidot divas grupas: vienu Apache un otru visam pārējam, un norādīt kodolam, ka katra grupa ir piešķirta, piemēram, 50% no centrālā procesora jaudasneatkarīgi no procesu skaita, ko tie izveido.
CPUset failu sistēmas piemontēšana (cgroup v1)
Daudzos pašreizējos sadalījumos (Fedora, mūsdienu RHEL, systemdcgroups tiek pievienoti pēc noklusējuma, un systemd automātiski grupē pakalpojumus. Vecākās sistēmās (piemēram, Ubuntu 12.04/14.04 ar klasisko konfigurāciju) varat manuāli pievienot cpuset apakšsistēmu šādi:
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
Ar šo jūs esat izveidojis nelielu tmpfs Lai izvietotu hierarhijas, direktoriju cpuset kas darbosies kā piestiprināšanas punkts, un, visbeidzot, jūs esat piestiprinājis failu sistēmu cgroup ierobežots ar kontrolieri CPU komplekts.
Ja jūs pārbaudāt /sys/fs/cgroup/cpuset Jūs redzēsiet tādus failus kā:
tasksycgroup.procs: grupai piederošo pavedienu grupu uzdevumu un ID saraksti.cpuset.cpusŠai grupai atļautie centrālie procesori.cpuset.mems: atļautie atmiņas mezgli.- Vairāki papildu karodziņi:
cpuset.cpu_exclusive,cpuset.mem_exclusive,cpuset.memory_migrate, Uc
Apakšgrupu izveide un centrālo procesoru/atmiņas piešķiršana
Katrā apakšdirektorijā, ko izveidojat, /sys/fs/cgroup/cpuset ir jauns bērna centrālā procesora komplektsTā noņemšana (ja tajā nav uzdevumu) tiek veikta ar rmdirPiemēram, lai sadalītu sistēmu divās grupās, pa vienai katram kodolam:
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
Jūs esat izveidojis divus centrālo procesoru komplektus, A grupa y B grupaPirmais izmanto tikai 0. centrālo procesoru, bet otrais — 1. centrālo procesoru. Abi koplieto mašīnas vienīgo atmiņas mezglu 0.
Procesu saistīšana ar CPU komplektu
Lai ievietotu uzdevumus centrālā procesora komplektā, vienkārši ierakstiet savu PID failā tasks šīs grupas. Process var piederēt tikai vienai grupai noteiktā hierarhijā; pārvietojot to, tas pazūd no vecāku saraksta.
Pieņemsim, ka atverat divas jaunas čaulas ar PID 3435 un 3492. Sākotnēji tie atradīsies saknes CPU komplektā.Jūs varat tos nosūtīt apakšgrupām šādi:
echo 3435 > grupo-A/tasks
echo 3492 > grupo-B/tasks
No šī brīža Viss, kas palaists no šīm bash čaulām, mantos savu CPU komplektu.Ja no čaulas 3435 palaižat četrus procesus consume_cpu (binārais fails, kas vienkārši sadedzina procesoru cilpā), tā PID redzēsiet iekšpusē grupo-A/tasks un 0. kodols pilnā apjomā kamēr 1. kodols gandrīz nedarbojas.
Ja vēlāk vēlaties "glābt" kādu no šiem procesiem un piešķirt tam pilnīgu kodolu, varat to izdarīt pārvietojiet savu PID uz radniecīgo CPU komplektu:
echo 3621 > /sys/fs/cgroup/cpuset/grupo-B/tasks
Novērojot ar topRedzēsi, kā Abi centrālie procesori sāk darboties, un pārvietotais process aizņem lielāko daļu 1. procesora jaudas, bet pārējie trīs patērē 0. procesora jaudu.
Citi pieejamie cgroup kontrolieri
cpuset ir tikai viena puzles daļa. cgroups ietver vairāk kontrolieru, kurus var izmantot kopā ļoti smalka resursu pārvaldība:
cpuTas kontrolē katrai grupai piešķirto centrālā procesora laika proporciju. Piemēram, tas ļauj vienai grupai iegūt 80 % centrālā procesora laika, citai — 15 % un vēl citai — 5 %.cpuacctTas neierobežo, tas tikai skaits el tiempo Grupas uzdevumu un to pēcteču patērētā centrālā procesora jauda (CPU).blkio: regulē I/O joslas platumu bloku ierīcēs, izmantojot proporcionālas kvotas vai stingrus ierobežojumus.memory: nosaka RAM un mijmaiņas ierobežojumus un ziņo par atmiņas izmantošanu pa grupām.devices: atļauj vai liedz piekļuvi konkrētas ierīces (piemēram, bloķēšanas ierīces pieslēgšana konteineram).freezer: apturēt vai atsākt visi grupas uzdevumi.net_clsynet_prioTie marķē tīkla trafiku vai pielāgo prioritātes katrai saskarnei, lai integrētos artc.ns: grupē procesus dažādās nosaukumtelpās, kas ir noderīgi vieglai virtualizācijai kombinācijā ar nosaukumtelpām.perf_event: ļauj uzraudzīt cgroup uzdevumus ar rīkuperf.
CPUsetu iekšējā informācija kodolā
Kodola līmenī katrs uzdevums uztur rādītāju uz cgroup struktūru, kurai tas pieder. CPUsets definē CPU un atmiņas mezglu maskas kas krustojas ar uzdevuma pieprasītajām afinitātes maskām un NUMA politikām.
Daži galvenie punkti ieviešanas:
- El saknes procesora komplekts Tajā ir visi sistēmas atmiņas kodoli un mezgli.
- Katram bērna centrālajam procesoram ir jābūt stingra apakškopa no tēva līdzekļiem.
- CPU komplektu var apzīmēt kā exclusivo procesoram (
cpuset.cpu_exclusive) vai atmiņas (cpuset.mem_exclusive): tādā gadījumā viņu resursi nevar pārklāties ar viņu pašu resursiem HERMANOS (jā, ar senčiem vai pēcnācējiem). - Netiek pievienoti jauni sistēmas izsaukumi: viss tiek apstrādāts, izmantojot cgroup failu sistēma un virtuālie faili, piemēram,
cpuset.cpus,tasks, Uc
Kodols pieslēdz centrālos procesorus (cpusets) vairāki nekritiski veiktspējas punkti:
- Init: inicializē root procesora komplektu startēšanas laikā.
- atzarojums/izeja: lai mantotu un atbrīvotu dalību procesoros (cpusets).
sched_setaffinity(): maskē afinitāti ar cpuset atļauto masku.- Atmiņas piešķīrējs: ierobežo lapas ar atļautajiem mezgliem.
- Atmiņas atgūšana un uzdevumu migrācija: cik vien iespējams, tiek ievēroti procesora komplekta ierobežojumi.
Svarīgi cpuset karodziņi un faili
Katram CPU komplektam papildus ir cpuset.cpus y cpuset.mems, Viena konfigurācijas failu sērija kas kontrolē progresīvu uzvedību:
cpuset.memory_migrateJa tas ir iestatīts uz 1, mainot CPU komplektu vai modificējotmemsEsošās lapas ir migrēt uz jaunajiem mezgliem, pēc iespējas vairāk ievērojot relatīvo pozīciju.cpuset.mem_hardwallycpuset.mem_exclusiveAktivizējot, tie nostiprina atmiņas barjeru un ierobežo pat noteiktas koplietotās kodola rezerves.cpuset.memory_pressureycpuset.memory_pressure_enabledTie atklāj atmiņas spiediena mērījumu (tiešās atgūšanas sekundē) ar kustīgu vidējo vērtību, kas ir noderīgi orķestratoriem un partiju plānotājiem.cpuset.memory_spread_pageycpuset.memory_spread_slabJa šī opcija ir iespējota, kodols izplata failu kešatmiņas lapas un noteiktus fragmentus. apļveida režīmā ar atļautajiem mezgliem, nevis vienmēr dodot priekšroku lokālajam mezglam.cpuset.sched_load_balance: kontrolē, vai plānotājs mēģina līdzsvarot slodzi starp centrālajiem procesoriem (CPU) CPU komplektā.cpuset.sched_relax_domain_level: pielāgo noteiktu uzdevumu migrācijas darbību tvērumu (ligzda, mezgls, visa sistēma) plānošanas domēnos.
Turklāt saknes CPU komplektā jūs atradīsiet cpuset.effective_cpus y cpuset.effective_memskas atspoguļo patiesi izmantojamos resursus, ņemot vērā centrālā procesora/atmiņas karstās spraudņa notikumus. Īpašajā režīmā cpuset_v2_modeŠie faili var atšķirties no cpuset.cpus y cpuset.mems lai saglabātu uzvedību, kas ir līdzīgāka cgroup v2 uzvedībai.
Mijiedarbība ar plānotāju: sched_load_balance un sched_relax_domain_level
Linux plānotājs sadala sistēmu plānošanas jomas lai samazinātu slodzes līdzsvarošanas izmaksas. Līdzsvarošana starp daudziem kodoliem ir dārga, tāpēc to parasti veic grupās (katrā ligzdā, katrā mezglā utt.).
Karogs cpuset.sched_load_balance Šis iestatījums norāda, vai centrālajiem procesoriem (CPU) šajā centrālo procesoru (CPU) kopā ir jāatrodas vienā domēnā, lai plānotājs varētu brīvi pārvietot uzdevumus tajā. Šī iestatījuma atspējošana saknes centrālo procesoru kopā un iespējošana tikai dažās apakšcentru procesoru kopās var novērst nevajadzīgu slodzes balansēšanu centrālajiem procesoriem (CPU), kas rezervēti reāllaika vai ļoti specifiskām darba slodzēm.
Fails cpuset.sched_relax_domain_level ļauj pielāgot, cik tālu plānotājs var meklēt, kad:
- Uzdevums tiek pamodināts un mēģināts to ievietot tuvumā esošā brīvā kodolā.
- Viens centrālais procesors paliek bez darba un pārņem uzdevumus no spēcīgāk noslogotiem centrālajiem procesoriem.
Tipiskas vērtības (atkarībā no arhitektūras) svārstās no 0 (nemeklēt) līdz brīdim 5 (meklēšana pilnas sistēmas līmenī NUMA sistēmās), ar starplīmeņiem HT brāļiem un māsām, vienas ligzdas kodoliem, mezgliem utt. Tas ir detalizēts rīks, kas jāizmanto tikai tad, ja ir ļoti skaidra ietekme uz latentumu un kešatmiņu.
Kā praksē izmantot procesorus (cpusets): tipiska plūsma
Darbplūsma Lai ietvertu "darbu" vai pakalpojumu noteiktā CPU komplektā, tas parasti ir:
- Pārliecinieties, vai ir pievienota cgroup/cpuset failu sistēma (v1 vai v2).
- Izveidojiet CPU komplektu ar
mkdiratbilstošajā hierarhijā. - Konfigurēt
cpuset.cpusycpuset.memspirms uzdevumu pievienošanas. - Pēc izvēles iespējojiet tādus karodziņus kā
memory_migrateocpu_exclusive. - Sākt "vecāku" procesu ielādei un pārvietot tā PID uz CPU komplektu ierakstot to
tasksocgroup.procs. - Palaist (vai ļaut palaist) bērnprocesus no šī vecāka; tie mantos savu dalību cpuset.
Ja lietojat lietotāja telpas rīki kā cgroup-bin / libcgroup (Debian/Ubuntu vidē) vai līdzvērtīgās citās distroversijās, to var ērtāk paveikt ar komandas tips cgcreate, cgexec y cgclassifyvai pat ar konfigurācijas failiem, piemēram, /etc/cgconfig.conf y /etc/cgrules.conf lai piešķirtu grupas, pamatojoties uz lietotāju vai komandu.
cgroups v1 pret cgroups v2: CPU un cpuset draiveri RHEL 8 un līdzīgās sistēmās
Mūsdienu izkārtojumos, piemēram, RHEL 8kodols vienlaikus atbalsta cgroups v1 un v2Pēc noklusējuma RHEL 8 v1 tiek piemontēts pie zābaksTomēr jūs varat piespiesti izmantot vienoto režīmu (v2) ar kodola parametriem:
cgroup_no_v1=all: startēšanas laikā atspējo visus 1. versijas kontrollerus.systemd.unified_cgroup_hierarchy=1: norāda systemd izmantot cgroup v2 kā primāro hierarhiju.
Pēc izmaiņām un restartēšanas varat pārbaudīt ar mount o findmnt ka vairs nav nekāda veida asamblejas cgroup klasika (izņemot systemd iekšējās daļas) un ar rokām salieciet koku v2, piemēram, /cgroups-v2:
mount -t cgroup2 none /cgroups-v2
Tajā saknes direktorijā (saknes kontroles grupa) jūs redzēsiet vispārīgus failus, kas sākas ar cgroup.* un citi specifiski kontrolieri, kas tur darbojas, piemēram, cpuset.cpus.effective o cpu.max.
CPU ierobežojums ar cgroup v2: CPU draiveris un cpuset kopā
2. versijā mēs strādājam ar unikāls koks un kontrolieri tiek aktivizēti ar apakškoku, izmantojot failu cgroup.subtree_controlTipiska darbplūsma centrālā procesora izmantošanas ierobežošanai līdz pāris procesiem būtu šāda:
- Aktivizējiet draiverus
cpuycpusettiešajiem bērniem sakne rakstīšana/cgroups-v2/cgroup.subtree_controlKaut kas kā+cpu +cpuset. - Izveidojiet apakšgrupu, piemēram
/cgroups-v2/Example/, Armkdir. - Pārliecinieties, ka tādi faili kā
cpu.maxycpuset.cpus. - Pielāgojiet
cpuset.cpusycpuset.memslai nodrošinātu, ka procesi konkurēs tajos pašos procesoros/mezglos (kontrolierim)cpuTas attiecas tikai uz gadījumiem, kad vienā un tajā pašā centrālajā procesorā konkurē vismaz divi procesi. - Konfigurēt
cpu.maxar maksu un periodu, piemēram:
echo "200000 1000000" > /cgroups-v2/Example/cpu.max
Šajā gadījumā visi grupas procesi Tie varēs patērēt tikai kopā 0,2 sekundes centrālā procesora laika sekundē. dabiski. Pārējā laikā viņi tiks nožņaugti līdz nākamajām mēnešreizēm.
Tad ir tikai pievienojiet PID no vēlamajām lietotnēm grupai, ierakstot tās /cgroups-v2/Example/cgroup.procsPiemēram, ja šajā grupā ir divi intensīvi procesi (PID 5439 un 5473), katrs no tiem nonāks ap 10% centrālā procesorajo viņi dalās ar jūsu noteikto 20% kvotu.
Citi rīki centrālā procesora, afinitātes un aparatūras izpratnei operētājsistēmā Linux
Lai strādātu ar centrālo procesoru komplektiem, ir ļoti noderīgi labi izprast CPU topoloģija un jūsu sistēmas centrālā procesora statusu. Linux piedāvā daudz komandu, pseidofailu un rīku, piemēram, CPU-X operētājsistēmai Linux kas sniedz detalizētu informāciju:
lscpuTas ļoti salasāmā veidā parāda arhitektūru, loģisko un fizisko centrālo procesoru skaitu, ligzdas, hiperpavedienu tehnoloģiju, kešatmiņas, virtualizācijas atbalstu utt./proc/cpuinfo: sniedz detalizētu informāciju pēc centrālā procesora loģikas: modelis, saime, soļi, mikrokods, funkciju karodziņi (SSE, AVX, VT-x, AMD-V, NX utt.)./sys/devices/system/cpu/ļoti bagāta direktoriju struktūra ar vienu apakšdirektoriju katram centrālajam procesoram (cpu0,cpu1, …) un citi priekš cpufreq, cpuidle, mikrokods, topoloģija, Uc
Iekšpusē /sys/devices/system/cpu/cpu0/cpufreq/ Var redzēt, piemēram,: (un lai iegūtu sīkāku informāciju, Kā uzzināt procesora frekvenci).
cpuinfo_cur_freq: strāvas frekvence.scaling_max_freqyscaling_min_freq: robežas, kurās cpufreq var mērogoties.scaling_governor: aktīvā politika (sniegums, enerģijas taupīšanas, pēc pieprasījuma, Utt.)scaling_available_governorsyscaling_driver: izmantotie režīmi un draiveris (piemēram,intel_pstate).
En /sys/devices/system/cpu/cpu0/cpuidle/ Jūs redzēsiet miera stāvokļus (state0, state1, …) ar latentumu un patēriņu, ko apstrādā apakšsistēma cpuidleTas kopā ar procesora frekvences Un plānotājs, pamatojoties uz slodzi, izlemj, kad izslēgt kodolus vai pazemināt frekvences, lai taupītu enerģiju.
En mobils to sāk lietot Energoefektīva plānošana (EAS), kas viedāk apvieno cpuidle, cpufreq un plānotāja lēmumus, lai izvairītos no neatbilstībām, piemēram, izslēgtu kodolu pamodināšanas, ja ir pieejami citi aktīvi kodoli.
Mērīt un uzraudzīt centrālā procesora noslodzi pa procesiem un grupām
Strādājot ar centrālo procesoru komplektiem un procesoru draiveriem, ir nepieciešami rīki, lai pārbaudiet, vai jūsu konfigurācijām ir ietekmePiemēram, ja virtuālā mašīna (VM) VirtualBox izmanto pārāk daudz centrālā procesoraDažas ļoti izplatītas iespējas ir:
topDinamisks sistēmas skats ar kopējo centrālā procesora noslodzi, katram centrālajam procesoram un katram procesam. Lauks %PROCESORS Tas ļauj jums redzēt, kuri uzdevumi pārslogo sistēmu.mpstat(no iepakojuma)sysstat): CPU un apkopotā statistika, kas noderīga slodzes sadalījuma un dīkstāves laiku (dīkstāve, iowait, zagšana utt.) skatīšanai.psapvienojumā arsortVarat uzskaitīt procesus, kas patērē visvairāk centrālā procesora jaudas, piemēram:
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
Turklāt grāmatvedības dokumenti, piemēram, cpuacct.usage y cpuacct.usage_percpu (1. versijā) vai iebūvētie skaitītāji cgroup 2. versijā ļauj uzzināt, cik daudz centrālā procesora (CPU) konkrēta grupa ir patērējusi kopš tās izveides, kas ir ideāli piemērots iekšējai norēķinu veikšanai vai dažādu lietojumprogrammu ietekmes salīdzināšanai.
Galu galā, cpusets un cgroups dod jums iespēju modelējiet savu mašīnu kā resursu "salu" kopuuzdevumu piešķiršana un tūlītēja centrālā procesora, atmiņas un ievades/izvades sadalījuma pielāgošana. Pilnīga failu izpratne /sys/fs/cgroup un /sys/devices/system/cpukopā ar uzraudzības rīkiem ļauj pāriet no "tikai servera darbības redzēšanas" uz ļoti precīzu kontroli pār to, kas kur darbojas, cik daudz tas patērē un kā jūs varat uzlabot tā darbību, kad slodze kļūst lielāka.
Kaislīgs rakstnieks par baitu pasauli un tehnoloģiju kopumā. Man patīk dalīties savās zināšanās rakstot, un tieši to es darīšu šajā emuārā, parādot visu interesantāko informāciju par sīkrīkiem, programmatūru, aparatūru, tehnoloģiju tendencēm un daudz ko citu. Mans mērķis ir palīdzēt jums vienkāršā un izklaidējošā veidā orientēties digitālajā pasaulē.
