Kif Issettja l-Prijorità tal-Proċess tal-Linux billi tuża Kmandi sbieħ u renice
F'dan l-artikolu, aħna ser nispjegaw fil-qosor l-iskedar tal-qalba (magħruf ukoll bħala l-iskedar tal-proċess), u l-prijorità tal-proċess, li huma suġġetti lil hinn mill-ambitu ta 'din il-gwida. Imbagħad se nidħlu ftit tal-ġestjoni tal-proċess tal-Linux: ara kif tmexxi programm jew kmand bi prijorità modifikata u wkoll ibiddel il-prijorità tat-tħaddim tal-proċessi tal-Linux.
Aqra wkoll: Kif Tissorvelja l-Proċessi tal-Linux u Issettja Limiti tal-Proċess fuq Bażi għal kull Utent
Scheduler tal-qalba hija unità tal-qalba li tiddetermina l-aktar proċess adattat mill-proċessi kollha li jistgħu jitħaddmu biex jiġi esegwit li jmiss; jalloka ħin tal-proċessur bejn il-proċessi runnable fuq sistema. Proċess runnable huwa wieħed li qed jistenna biss il-ħin tas-CPU, huwa lest biex jiġi eżegwit.
L-iskedar jifforma l-qalba tal-multitasking fil-Linux, billi juża algoritmu ta' skedar ibbażat fuq il-prijorità biex jagħżel bejn il-proċessi runnable fis-sistema. Jikklassifika l-proċessi bbażati fuq l-aktar ħaqqhom kif ukoll il-ħtieġa għal ħin CPU.
Il-qalba taħżen ħafna informazzjoni dwar proċessi inkluża l-prijorità tal-proċess li hija sempliċement il-prijorità tal-iskedar mehmuża ma 'proċess. Proċessi bi prijorità ogħla jiġu eżegwiti qabel dawk bi prijorità aktar baxxa, filwaqt li proċessi bl-istess prijorità jiġu skedati wieħed wara l-ieħor, ripetutament.
Hemm total ta '140 prijorità u żewġ firxiet ta' prijorità distinti implimentati fil-Linux. L-ewwel wieħed huwa valur sabiħ (niceness) li jvarja minn -20
(l-ogħla valur ta' prijorità) sa 19
(l-inqas valur ta' prijorità) u l-inadempjenza hija 0
, dan huwa dak li se niskopru f'din il-gwida. L-oħra hija l-prijorità fil-ħin reali, li tvarja minn 1 sa 99 awtomatikament, imbagħad 100 sa 139 huma maħsuba għall-ispazju tal-utent.
Karatteristika importanti tal-Linux hija l-iskedar dinamiku bbażat fuq il-prijoritajiet, li jippermetti li l-valur sabiħ tal-proċessi jinbidel (jiżdied jew jitnaqqas) skont il-bżonnijiet tiegħek, kif naraw aktar tard.
Kif Tiċċekkja l-Valur Nizza tal-Proċessi Linux
Biex tara l-valuri sbieħ tal-proċessi, nistgħu nużaw utilitajiet bħal htop.
Biex tara l-proċessi valur sabiħ bil-kmand ps f'format definit mill-utent (hawnhekk il-NI
il-kolonna turi s-sewwa tal-proċessi).
$ ps -eo pid,ppid,ni,comm
Alternattivament, tista 'tuża l-utilitajiet top jew htop biex tara l-Linux proċessi valuri sbieħ kif muri.
$ top $ htop
Mill-outputs ta 'fuq u htop hawn fuq, tinnota li hemm kolonna msejħa PR
u PRI
b'mod riċettiv li turi l-prijorità ta' proċess.
Għalhekk, dan ifisser li:
NI
– huwa l-valur sabiħ, li huwa kunċett ta’ spazju għall-utent, filwaqt liPR
jewPRI
– hija l-prijorità attwali tal-proċess, kif jidher mill-kernel tal-Linux.
Total number of priorities = 140 Real time priority range(PR or PRI): 0 to 99 User space priority range: 100 to 139
Firxa ta 'valur Nizza (NI): -20 sa 19
PR = 20 + NI PR = 20 + (-20 to + 19) PR = 20 + -20 to 20 + 19 PR = 0 to 39 which is same as 100 to 139.
Imma jekk tara rt
aktar milli numru kif muri fil-screenshot hawn taħt, bażikament ifisser li l-proċess qed jaħdem taħt prijorità ta 'skedar f'ħin reali.
Kif Tmexxi Kmand b'Valur Nizza Mogħti fil-Linux
Hawnhekk, se nħarsu lejn kif nipprijoritizzaw l-użu tas-CPU ta 'programm jew kmand. Jekk għandek programm jew kompitu intensiv ħafna ta 'CPU, imma tifhem ukoll li jista' jieħu ħafna żmien biex jitlesta, tista 'tissettilha prijorità għolja jew favorevoli billi tuża l-kmand sabiħ.
Is-sintassi hija kif ġej:
$ nice -n niceness-value [command args] OR $ nice -niceness-value [command args] #it’s confusing for negative values OR $ nice --adjustment=niceness-value [command args]
Importanti:
- Jekk ma jiġi pprovdut ebda valur, nice jistabbilixxi prijorità ta' 10 b'mod awtomatiku.
- Kmand jew programm jitħaddem mingħajr defaults sbieħ għal prijorità ta' żero.
- Root biss jista' jmexxi kmand jew programm bi prijorità miżjuda jew għolja.
- L-utenti normali jistgħu jmexxu kmand jew programm biss bi prijorità baxxa.
Pereżempju, minflok ma tibda programm jew kmand bil-prijorità default, tista 'tibda bi prijorità speċifika billi tuża kmand sabiħ li ġej.
$ sudo nice -n 5 tar -czf backup.tar.gz ./Documents/* OR $ sudo nice --adjustment=5 tar -czf backup.tar.gz ./Documents/*
Tista 'wkoll tuża t-tielet metodu li huwa ftit konfuż speċjalment għal valuri negattivi ta' niceness.
$ sudo nice -5 tar -czf backup.tar.gz ./Documents/*
Ibdel il-Prijorità tal-Iskedar ta' Proċess fil-Linux
Kif semmejna qabel, Linux jippermetti skedar dinamiku ibbażat fuq il-prijorità. Għalhekk, jekk programm diġà qed jaħdem, tista 'tbiddel il-prijorità tiegħu bil-kmand renice f'din il-forma:
$ renice -n -12 -p 1055 $ renice -n -2 -u apache
Mill-output ta 'fuq tal-kampjun hawn taħt, is-sewwa tat-teamspe+ b'PID 1055 issa huwa -12
u għall-proċessi kollha proprjetà tal-utent apache huwa -2
.
Xorta tuża dan l-output, tista 'tara l-formula PR = 20 + NI stands,
PR for ts3server = 20 + -12 = 8 PR for apache processes = 20 + -2 = 18
Kwalunkwe tibdil li tagħmel b'kmand renice lill-proċessi ta' utent valuri sbieħ huma applikabbli biss sal-reboot li jmiss. Biex tissettja valuri default permanenti, aqra t-taqsima li jmiss.
Kif Issettja Valur Nizza Default Ta 'Proċessi ta' Utent Speċifiku
Tista 'tissettja l-valur sabiħ default ta' utent jew grupp partikolari fil-fajl /etc/security/limits.conf. Il-funzjoni primarja tagħha hija li tiddefinixxi l-limiti tar-riżorsi għall-utenti illoggjati permezz tal-PAM.
Is-sintassi għad-definizzjoni ta' limitu għal utent hija kif ġej (u l-valuri possibbli tad-diversi kolonni huma spjegati fil-fajl):
#<domain> <type> <item> <value>
Issa uża s-sintassi hawn taħt fejn hard - tfisser infurzar ta 'rabtiet iebsin u mezzi artab - infurzar tal-limiti artab.
<username> <hard|soft> priority <nice value>
Inkella, oħloq fajl taħt /etc/security/limits.d/ li jegħleb is-settings fil-fajl prinċipali ta' hawn fuq, u dawn il-fajls jinqraw f'ordni alfabetiku.
Ibda billi toħloq il-fajl /etc/security/limits.d/tecmint-priority.conf għall-utent tecmint:
# vi /etc/security/limits.d/tecmint-priority.conf
Imbagħad żid din il-konfigurazzjoni fiha:
tecmint hard priority 10
Issejvja u agħlaq il-fajl. Minn issa 'l quddiem, kull proċess li jkun proprjetà ta' tecmint se jkollu valur sabiħ ta' 10 u PR ta' 30.
Għal aktar informazzjoni, aqra l-paġni man ta 'nice and renice:
$ man nice $ man renice
Inti tista 'wkoll tixtieq taqra dawn l-artikoli li ġejjin dwar il-ġestjoni tal-proċess Linux.
- Kif Sib u Joqtol Proċessi li Tħaddmu fil-Linux
- Gwida biex Qtil, Pkill u Qtil Kmandi biex Twaqqaf Proċess fil-Linux
- Kif Tissorvelja l-Użu tas-Sistema, il-Ħruġ u Issolvi l-problemi tas-Servers Linux
- CPUTool – Limitu u Kontroll l-Użu tas-CPU ta' Kwalunkwe Proċess fil-Linux
F'dan l-artikolu, spjegajna fil-qosor l-iskedar tal-kernel, il-prijorità tal-proċess, ħares lejn kif tmexxi programm jew kmand bi prijorità modifikata u wkoll tbiddel il-prijorità ta 'proċessi Linux attivi. Tista' taqsam kwalunkwe ħsibijiet dwar dan is-suġġett permezz tal-formola ta' feedback hawn taħt.