LFCS: Nyochaa usoro Linux iji ihe akụrụngwa wee tọọ oke usoro na ndabere onye ọrụ - akụkụ 14


N'ihi mgbanwe ndị na-adịbeghị anya na ebumnuche nyocha LFCS dị irè site na February 2nd, 2016, anyị na-agbakwunyekwa akụkọ ndị achọrọ na usoro LFCE.

Onye njikwa sistemụ Linux ọ bụla kwesịrị ịma ka a ga-esi enyocha iguzosi ike n'ezi ihe na nnweta ngwaike, akụrụngwa na usoro igodo. Na mgbakwunye, idobe oke akụrụngwa na ndabere onye ọ bụla ga-abụkwa akụkụ nke usoro nka ya.

N'isiokwu a, anyị ga-enyocha ụzọ ole na ole iji hụ na usoro ma ngwaike na ngwanrọ na-eme omume n'ụzọ ziri ezi iji zere nsogbu ndị nwere ike ime ka oge mmepụta ihe na-atụghị anya ya na ọnwụ ego.

Nchịkọta Ndị na-eme mkpesa Linux

Site na mpstat ị nwere ike ịlele ihe omume maka nhazi ọ bụla n'otu n'otu ma ọ bụ sistemụ ahụ n'ozuzu ya, ma dị ka foto otu oge ma ọ bụ na-agbanwe agbanwe.

Iji jiri ngwá ọrụ a, ị ga-achọ ịwụnye sysstat:

# yum update && yum install sysstat              [On CentOS based systems]
# aptitutde update && aptitude install sysstat   [On Ubuntu based systems]
# zypper update && zypper install sysstat        [On openSUSE systems]

Gụkwuo maka sysstat yana akụrụngwa ya na Mụta Sysstat na Utilities mpstat, pidstat, iostat na sar na Linux

Ozugbo ị wụnye mpstat, jiri ya mepụta akụkọ nke ọnụ ọgụgụ ndị nhazi.

Iji gosi akụkọ 3 zuru ụwa ọnụ nke iji CPU (-u) maka CPU niile (dị ka egosiri na -P ALL) na nkeji nkeji abụọ nke abụọ, mee:

# mpstat -P ALL -u 2 3
Linux 3.19.0-32-generic (linux-console.net) 	Wednesday 30 March 2016 	_x86_64_	(4 CPU)

11:41:07  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:41:09  IST  all    5.85    0.00    1.12    0.12    0.00    0.00    0.00    0.00    0.00   92.91
11:41:09  IST    0    4.48    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   94.53
11:41:09  IST    1    2.50    0.00    0.50    0.00    0.00    0.00    0.00    0.00    0.00   97.00
11:41:09  IST    2    6.44    0.00    0.99    0.00    0.00    0.00    0.00    0.00    0.00   92.57
11:41:09  IST    3   10.45    0.00    1.99    0.00    0.00    0.00    0.00    0.00    0.00   87.56

11:41:09  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:41:11  IST  all   11.60    0.12    1.12    0.50    0.00    0.00    0.00    0.00    0.00   86.66
11:41:11  IST    0   10.50    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   88.50
11:41:11  IST    1   14.36    0.00    1.49    2.48    0.00    0.00    0.00    0.00    0.00   81.68
11:41:11  IST    2    2.00    0.50    1.00    0.00    0.00    0.00    0.00    0.00    0.00   96.50
11:41:11  IST    3   19.40    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   79.60

11:41:11  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:41:13  IST  all    5.69    0.00    1.24    0.00    0.00    0.00    0.00    0.00    0.00   93.07
11:41:13  IST    0    2.97    0.00    1.49    0.00    0.00    0.00    0.00    0.00    0.00   95.54
11:41:13  IST    1   10.78    0.00    1.47    0.00    0.00    0.00    0.00    0.00    0.00   87.75
11:41:13  IST    2    2.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   97.00
11:41:13  IST    3    6.93    0.00    0.50    0.00    0.00    0.00    0.00    0.00    0.00   92.57

Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all    7.71    0.04    1.16    0.21    0.00    0.00    0.00    0.00    0.00   90.89
Average:       0    5.97    0.00    1.16    0.00    0.00    0.00    0.00    0.00    0.00   92.87
Average:       1    9.24    0.00    1.16    0.83    0.00    0.00    0.00    0.00    0.00   88.78
Average:       2    3.49    0.17    1.00    0.00    0.00    0.00    0.00    0.00    0.00   95.35
Average:       3   12.25    0.00    1.16    0.00    0.00    0.00    0.00    0.00    0.00   86.59

Ka ilele otu ọnụ ọgụgụ maka otu CPU (CPU 0 na ọmụmaatụ na-esote), jiri:

# mpstat -P 0 -u 2 3
Linux 3.19.0-32-generic (linux-console.net) 	Wednesday 30 March 2016 	_x86_64_	(4 CPU)

11:42:08  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:42:10  IST    0    3.00    0.00    0.50    0.00    0.00    0.00    0.00    0.00    0.00   96.50
11:42:12  IST    0    4.08    0.00    0.00    2.55    0.00    0.00    0.00    0.00    0.00   93.37
11:42:14  IST    0    9.74    0.00    0.51    0.00    0.00    0.00    0.00    0.00    0.00   89.74
Average:       0    5.58    0.00    0.34    0.85    0.00    0.00    0.00    0.00    0.00   93.23

Nsonaazụ nke iwu dị n'elu na-egosi kọlụm ndị a:

  1. CPU: Nọmba nhazi dị ka integer, ma ọ bụ okwu ahụ niile dị ka nkezi maka ndị nrụpụta niile.
  2. %usr: Pasent nke ojiji CPU mgbe ị na-eme ngwa ọkwa onye ọrụ.
  3. %ma mma: Ọ dị ka %usr, mana ọ kacha mkpa.
  4. %sys: Pasent nke ojiji CPU mere mgbe a na-eme ngwa kernel. Nke a anaghị agụnye oge eji eme ihe maka nkwụsịtụ ma ọ bụ ijikwa ngwaike.
  5. %iowait: Pasent nke oge CPU nyere (ma ọ bụ ihe niile) na-adịghị arụ ọrụ, n'oge nke enwere ọrụ I/O siri ike nke akwadoro na CPU ahụ. Enwere ike ịchọta nkọwa zuru ezu (ya na ihe atụ) ebe a.
  6. %irq: Pasent nke oge ejiri kwụsị ọrụ ngwaike.
  7. % soft: Ọ dị ka % irq, mana ọ na-akwụsị ngwa ngwa.
  8. % izu ohi: Pasent nke oge ejiri na nchere akaghị aka (ohi ma ọ bụ oge ezuru) mgbe igwe mebere, dị ka ọbịa, na-emeri nlebara anya hypervisor mgbe ọ na-asọ mpi maka CPU(s) Ekwesịrị idobe uru a dị obere ka enwere ike, uru dị elu n'ọhịa a pụtara na igwe mebere na-akwụsị - ma ọ bụ n'oge na-adịghị anya.
  9. % ọbịa: Pasent nke oge ejiri na-eme ihe nrụpụta mebere.
  10. % arụ ọrụ: pasent nke oge CPU(s) anaghị arụ ọrụ ọ bụla. Ọ bụrụ na ị hụ uru dị ala na kọlụm a, nke ahụ bụ ihe na-egosi na a na-etinye usoro ahụ n'okpuru ibu dị arọ. N'okwu ahụ, ị ga-achọ ileba anya na ndepụta usoro, dịka anyị ga-atụle n'ime nkeji, iji chọpụta ihe na-akpata ya.

Iji tinye ebe nhazi ahụ n'okpuru ibu dị elu, mee iwu ndị a wee mechaa mpstat (dị ka egosiri) na ọdụ dị iche:

# dd if=/dev/zero of=test.iso bs=1G count=1
# mpstat -u -P 0 2 3
# ping -f localhost # Interrupt with Ctrl + C after mpstat below completes
# mpstat -u -P 0 2 3

N'ikpeazụ, atụnyere mpụta mpstat n'okpuru ọnọdụ \nkịtị:

Dịka ị na-ahụ na foto dị n'elu, CPU 0 nọ n'okpuru ibu dị arọ n'ime ihe atụ abụọ mbụ, dị ka kọlụm % na-adịghị arụ ọrụ gosiri.

Na ngalaba na-esote anyị ga-atụle ka a ga-esi amata usoro ndị a na-agụ agụụ, otu esi enweta ozi ndị ọzọ gbasara ha, yana otu esi eme ihe kwesịrị ekwesị.

Na-akọ usoro Linux

Iji depụta usoro nhazi ha site na iji CPU, anyị ga-eji iwu ps amaara nke ọma yana -eo (iji họrọ usoro niile nwere usoro akọwapụtara nke ọma) yana --ụdị(iji kọwapụta usoro nhazi omenala) nhọrọ, dịka:

# ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu

Iwu a dị n'elu ga-egosi naanị PID, PPID, iwu metụtara usoro ahụ, yana pasentị ojiji CPU na RAM chịkọtara site na pasentị ojiji CPU na-agbada n'usoro. . Mgbe e gburu ya n'oge ịmepụta faịlụ .iso, nke a bụ ahịrị ole na ole mbụ nke mmepụta:

Ozugbo anyị chọpụtara usoro mmasị (dị ka nke nwere PID=2822), anyị nwere ike ịnyagharịa na /proc/PID ( /proc/2822<)/koodu> na nke a) ma mee ndepụta ndekọ.

Akwụkwọ ndekọ aha a bụ ebe a na-edobe ọtụtụ faịlụ na subdirectories nwere ozi zuru ezu gbasara usoro a ka ọ na-agba ọsọ.

  1. /proc/2822/io nwere ọnụ ọgụgụ IO maka usoro a (ọnụọgụ mkpụrụedemede na bytes na-agụ na nke edere, na ndị ọzọ, n'oge ọrụ IO).
  2. /proc/2822/attr/current na-egosi njirimara nchekwa SELinux dị ugbu a nke usoro a.
  3. /proc/2822/cgroup na-akọwa otu njikwa (otu dị mkpirikpi) nke usoro a bụ ma ọ bụrụ na agbanyere nhọrọ nhazi kernel CONFIG_CGROUPS, nke ị nwere ike iji:

# cat /boot/config-$(uname -r) | grep -i cgroups

Ọ bụrụ na agbanyere nhọrọ ahụ, ị ga-ahụ:

CONFIG_CGROUPS=y

Iji otu dị iche iche ị nwere ike ijikwa ego ejiri akụrụngwa ekwere mee ihe na usoro ọ bụla dịka akọwara n'Isi nke 1 ruo 4 nke ngalaba njikwa njikwa nke akwụkwọ Ubuntu 14.04 Server.

The /proc/2822/fd bụ ndekọ nwere otu njikọ ihe atụ maka faịlụ ọ bụla na-akọwa usoro a meghere. Foto a na-egosi ozi a maka usoro malitere na tty1 (ọnụahịa nke mbụ) iji mepụta foto .iso:

Onyonyo dị n'elu na-egosi na stdin (nkọwa faịlụ 0), stdout (nkọwa faịlụ 1), na stderr (nkọwa faịlụ 2) ka edobere na /dev/zero, /root/test.iso, na /dev/tty1, n'otu n'otu.

Enwere ike ịchọta ozi ndị ọzọ gbasara /proc na akwụkwọ /proc faịlụ nke Kernel.org debere ma na-echekwa ya, yana n'akwụkwọ ntuziaka Linux Programmer.

Ịtọlite oke akụrụngwa na ntọala onye ọrụ ọ bụla na Linux

Ọ bụrụ na ị kpacharaghị anya ma kwe ka onye ọrụ ọ bụla na-agba ọsọ usoro na-akparaghị ókè, ị nwere ike mechaa nweta nkwụsị usoro na-atụghị anya ya ma ọ bụ kpochie ya ka usoro ahụ na-abanye na steeti a na-apụghị iji mee ihe. Iji gbochie nke a ime, ịkwesịrị itinye njedebe na ọnụ ọgụgụ ndị ọrụ nwere ike ịmalite.

Iji mee nke a, dezie /etc/security/limits.conf ma tinye ahịrị na-esonụ na ala nke faịlụ iji tọọ oke:

*   	hard	nproc   10

Enwere ike iji ubi nke mbụ gosi ma onye ọrụ, otu, ma ọ bụ ha niile (*), ebe mpaghara nke abụọ na-akwado njedebe siri ike na ọnụọgụ nke usoro (nproc) ruo 10. tinye mgbanwe, ịpụ na ịlaghachi azụ ezuola.

Ya mere, ka anyị hụ ihe na-eme ma ọ bụrụ na onye ọrụ na-abụghị mgbọrọgwụ (ma ọ bụ nke ziri ezi ma ọ bụ na ọ bụghị) na-anwa ịmalite bọmbụ ndụdụ. Ọ bụrụ na anyị etinyebeghị oke, nke a ga-ebu ụzọ wepụta ihe atụ abụọ nke ọrụ, wee megharịa nke ọ bụla n'ime ha na akaghị adịghị agwụ agwụ. N'ihi nke a, ọ ga-emecha mee ka sistemụ gị rụọ ọrụ.

Otú ọ dị, site na mmachi dị n'elu ebe, bọmbụ ndụdụ ahụ agaghị aga nke ọma mana onye ọrụ ka ga-ekpochi ya ruo mgbe onye na-ahụ maka usoro ahụ gburu usoro metụtara ya:

NDỤMỌDỤ: A na-edekọ ihe mgbochi ndị ọzọ nwere ike ime site na ulimit na faịlụ limit.conf.

Ngwaọrụ njikwa usoro Linux ndị ọzọ

Na mgbakwunye na ngwaọrụ ndị a tụlere na mbụ, onye nchịkwa sistemụ nwekwara ike ịchọ:

a) Gbanwee mkpa ogbugbu (iji akụrụngwa akụrụngwa) nke usoro site na iji renice. Nke a pụtara na kernel ga-ekenye ọtụtụ ihe ma ọ bụ obere akụrụngwa maka usoro a dabere na mkpa enyere ya (ọnụọgụ a na-akpọkarị ịma mma n'ogo site na -20 ruo 19 koodu>).

Ọnụ ahịa dị ala, nke ukwuu na-ebute ụzọ igbu ya. Ndị ọrụ oge niile (na-abụghị mgbọrọgwụ) nwere ike gbanwee ịdị mma nke usoro ha nwere ka ọ bụrụ ọnụ ahịa dị elu (nke pụtara mkpa igbu egbu), ebe mgbọrọgwụ nwere ike gbanwee uru a maka usoro ọ bụla, ma nwee ike ịbawanye ma ọ bụ belata ya.

Isi syntax nke renice bụ nke a:

# renice [-n] <new priority> <UID, GID, PGID, or empty> identifier

Ọ bụrụ na arụmụka ahụ ka uru ọ dị mkpa ọhụrụ anọghị (efu), na ndabara edobere ya na PID. N'ọnọdụ ahụ, a na-edozi ịdị mma nke usoro na PID=ihe nchọpụta ka ọ bụrụ ihe kacha mkpa >.

b) Kwụsị mmezu nke usoro mgbe ọ dị mkpa. Nke a bụ ihe a na-akpọkarị \na-egbu usoro a, n'okpuru mkpuchi, nke a pụtara izipu usoro a mgbaama ka emechaa ogbugbu ya nke ọma wee wepụta akụrụngwa ọ bụla ejiri n'usoro.

Iji gbuo usoro, jiri iwu igbu dị ka ndị a:

# kill PID

N'aka nke ọzọ, ị nwere ike iji pkill kwụsị usoro niile nke onye nwe nyere (-u), ma ọ bụ onye nwe otu (-G), ma ọ bụ ọbụna usoro ndị ahụ nwere PPID. na nkịtị (-P) . Nhọrọ ndị a nwere ike iso nsonye ọnụọgụgụ ma ọ bụ aha n'ezie dị ka ihe nchọpụta:

# pkill [options] identifier

Ọmụmaatụ,

# pkill -G 1000

ga-egbu usoro niile nke otu nwere GID=1000.

Na,

# pkill -P 4993 

ga-egbu usoro niile nke PPID bụ 4993.

Tupu ịme pkill, ọ dị mma iji pgrep buru ụzọ nwalee nsonaazụ ya, ikekwe na-eji nhọrọ -l yana depụta aha usoro. Ọ na-ewe otu nhọrọ ahụ mana ọ na-eweghachite PID nke usoro (na-emeghị ihe ọ bụla ọzọ) nke a ga-egbu ma ọ bụrụ na ejiri pkill mee ihe.

# pgrep -l -u gacanepa

E gosipụtara nke a na foto na-esote:

Nchịkọta

N'ime edemede a, anyị enyochala ụzọ ole na ole iji nyochaa ojiji akụrụngwa iji chọpụta iguzosi ike n'ezi ihe na nnweta ngwaike dị egwu na ngwa ngwanrọ na sistemụ Linux.

Anyị amụtakwala ka anyị ga-esi mee ihe kwesịrị ekwesị (ma ọ bụ site n'ịgbanwe ụzọ mmezu nke usoro e nyere ma ọ bụ site n'ịkwụsị ya) n'ọnọdụ ndị pụrụ iche.

Anyị nwere olileanya na echiche ndị akọwara na nkuzi a enyerela aka. Ọ bụrụ na ị nwere ajụjụ ọ bụla ma ọ bụ kwuo, nweere onwe gị ịkpọtụrụ anyị site na iji ụdị kọntaktị dị n'okpuru.