LFCS: Linux prosessleriniň çeşmeleriniň ulanylyşyna gözegçilik ediň we ulanyjy başyna amal çäklerini belläň - 14-nji bölüm


2016-njy ýylyň 2-nji fewralyndan başlap LFCS sertifikat synag synaglarynyň maksatlarynda soňky üýtgeşmeler sebäpli LFCE seriýasyna zerur makalalary hem goşýarys.

Her Linux ulgamy dolandyryjysy, enjamlaryň, çeşmeleriň we esasy amallaryň bitewiligini we elýeterliligini nädip barlamalydygyny bilmelidir. Mundan başga-da, ulanyjy başyna çeşme çäklerini kesgitlemek hem onuň başarnyklarynyň bir bölegi bolmaly.

Bu makalada, enjamyň we programma üpjünçiliginiň garaşylmadyk önümçiligiň azalmagyna we pul ýitmegine sebäp bolup biljek meselelerden gaça durmak üçin ulgamyň hem programma üpjünçiliginiň dogry hereket edýändigini üpjün etmegiň birnäçe usulyny öwreneris.

Linux hasabat prosessorlarynyň statistikasy

Mpstat bilen her prosessor üçin çäreleri aýratynlykda ýa-da tutuş ulgam üçin bir gezeklik surat ýa-da dinamiki görnüşde görüp bilersiňiz.

Bu guraly ulanmak üçin sysstat gurmaly bolarsyňyz:

# 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]

Sysstat we onuň peýdalary barada has giňişleýin okaň Linux-da Sysstat we onuň peýdalary mpstat, pidstat, iostat we sar

Mpstat guranyňyzdan soň, prosessorlaryň statistikasy barada hasabat döretmek üçin ulanyň.

CPhli CPU üçin ( -P HEMMESI görkezilişi ýaly) 2 sekunt aralykda CPU ulanylyşy barada 3 sany global hasabaty görkezmek üçin ( -u ) görkeziň:

# 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

Belli bir CPU üçin şol bir statistikany görmek üçin (aşakdaky mysalda CPU 0) ulanyň:

# 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

Aboveokardaky buýruklaryň çykyşy şu sütünleri görkezýär:

  1. CPU : Prosessor belgisi bitewi san ýa-da ähli prosessorlar üçin ortaça söz.
  2. % usr : Ulanyjy derejesindäki programmalary işledeniňizde CPU ulanylyşynyň göterimi.
  3. % owadan : % usr bilen birmeňzeş, ýöne gowy ähmiýetli.
  4. % sys : ýadro programmalary ýerine ýetirilende ýüze çykan CPU ulanylyşynyň göterimi. Bu arakesmeler ýa-da enjamlar bilen işlemek üçin sarp edilen wagty öz içine almaýar.
  5. % iowait : Berlen CPU (ýa-da hemmesi) işsiz wagtynyň göterimi, şol döwürde şol CPU-da resurs talap edýän I/O amaly meýilleşdirilýär. Has jikme-jik düşündiriş (mysallar bilen) şu ýerden tapyp bilersiňiz.
  6. % irq : Apparat hyzmatlaryna sarp edilen wagtyň göterimi.
  7. % ýumşak : % irq bilen birmeňzeş, ýöne programma üpjünçiligi kesilýär.
    • Bu baha mümkin boldugyça az saklanmalydyr. Bu ugurdaky ýokary baha wirtual maşynyň durýandygyny ýa-da ýakyn wagtda boljakdygyny aňladýar.
    • % myhman : Wirtual prosessor işlemek üçin sarp edilen wagtyň göterimi.
    • % boş : CPU (lar) haýsydyr bir meseläni ýerine ýetirmeýän wagtynyň göterimi. Bu sütünde pes bahany synlasaňyz, bu ulgamyň agyr ýüküň astynda goýulýandygyny görkezýär. Bu ýagdaýda, nämäniň sebäp bolýandygyny kesgitlemek üçin bir minutda ara alyp maslahatlaşjakdygymyz üçin proses sanawyna has içgin göz aýlamaly bolarsyňyz.

Prosessory birneme ýokary ýük astynda goýmak üçin aşakdaky buýruklary işlediň we mpstat (görkezilişi ýaly) aýratyn terminalda ýerine ýetiriň:

# 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

Ahyrynda, adaty ýagdaýlarda mpstatyň çykyşy bilen deňeşdiriň:

Aboveokardaky suratdan görnüşi ýaly, % boş sütüninde görkezilişi ýaly CPU 0 ilkinji iki mysalda agyr ýük boldy.

Indiki bölümde bu çeşmä aç-açan prosesleri nädip kesgitlemelidigini, olar hakda has köp maglumat nädip almalydygyny we degişli çäreleri görmelidigini ara alyp maslahatlaşarys.

Linux amallary barada hasabat bermek

CPU ulanylyşy boýunça tertipleşdirilýän amallary sanamak üçin, -eo (ulanyjy kesgitlän formatda ähli amallary saýlamak üçin) we bilen belli ps buýrugyny ulanarys. --sort (adaty tertipleşdiriş tertibini kesgitlemek üçin) opsiýalary, şular ýaly:

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

Aboveokardaky buýruk diňe PID , PPID , amal bilen baglanyşykly buýrugy we CPU we RAM ulanylyşynyň göterimi aşaklaýyş tertibinde CPU ulanylyşynyň göterimine görä görkeziler. . .Iso faýly döredilende ýerine ýetirilende, çykyşyň ilkinji setirleri:

Gyzyklanma prosesini kesgitlänimizden soň (meselem, PID=2822 ýaly), /proc/PID (/proc/2822 <) geçip bileris./kod> bu ýagdaýda) we katalog sanawyny ýerine ýetiriň.

Bu katalog, işleýän wagtynda bu aýratyn proses hakda jikme-jik maglumatly birnäçe faýl we kiçi bukjanyň saklanýan ýeri.

  1. /proc/2822/io IO statistikasyny öz içine alýar (IO amallary wagtynda beýlekiler bilen birlikde okalýan we ýazylan nyşanlaryň we baýtlaryň sany).
  2. /proc/2822/attr/current prosesiň häzirki SELinux howpsuzlyk aýratynlyklaryny görkezýär.
  3. /proc/2822/cgroup CONFIG_CGROUPS ýadrosynyň konfigurasiýa opsiýasy açyk bolsa, bu prosese degişli dolandyryş toparlaryny (gysgaça toparlar) suratlandyrýar:

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

Opsiýa açyk bolsa, görmeli:

CONFIG_CGROUPS=y

cgroups ulanyp, Ubuntu 14.04 Serwer resminamalarynyň Dolandyryş Toparlary bölüminiň 1-nji bölüminden 4-nji bölümlerine çenli düşündirilişi ýaly, her amalda rugsat edilýän çeşme ulanylyşynyň mukdaryny dolandyryp bilersiňiz.

/proc/2822/fd , amalyň açylan her bir faýl beýany üçin bir simwoliki baglanyşygy öz içine alýan katalogdyr. Aşakdaky surat .iso şekilini döretmek üçin tty1-de (ilkinji terminal) başlanan amal üçin bu maglumatlary görkezýär:

Aboveokardaky surat, stdin (faýl beýan ediji 0), stdout (faýl beýan ediji 1) we stderr (faýl beýan ediji 2) degişlilikde/dev/nol, /root/test.iso we/dev/tty1 bilen düzülendigini görkezýär.

/proc hakda has giňişleýin maglumaty Kernel.org tarapyndan saklanylýan we goldanylýan\Kod>/proc faýl ulgamy resminamasynda we Linux Programmer gollanmasynda tapyp bilersiňiz.

Linux-da ulanyjy başyna çeşme çäklerini bellemek

Seresap bolmasaňyz we haýsydyr bir ulanyja çäklendirilmedik mukdarda işlemäge rugsat bermeseňiz, ulgam ulanylmaýan ýagdaýa girensoň, garaşylmadyk ulgam ýapylmagyna ýa-da gulplanyp bilersiňiz. Munuň ýüze çykmazlygy üçin, ulanyjylaryň başlap biljek amallarynyň sanyna çäk goýmaly.

Munuň üçin /etc/security/limits.conf redaktirläň we çäklendirmäni kesgitlemek üçin faýlyň aşagyna aşakdaky setiri goşuň:

*   	hard	nproc   10

Birinji meýdan, ulanyjyny, topary ýa-da olaryň hemmesini (*) görkezmek üçin ulanylyp bilner, ikinji meýdan bolsa (nproc) sanyna 10-a çenli gaty çäklendirme girizýär. üýtgeşmeleri ulanyň, çykmak we yza gaýtmak ýeterlikdir.

Şeýlelik bilen, kökden başga bir ulanyjy (kanuny ýa-da ýok) gabyk çeňňek bombasyny başlamaga synanyşsa näme bolýandygyny göreliň. Çäklendirmeleri ýerine ýetirmedik bolsak, bu ilki bilen iki funksiýa dörederdi, soň bolsa olaryň hersini hemişelik aýlawda köpelderdi. Şeýlelik bilen, ahyrsoňy ulgamyňyzy gözden geçirer.

Şeýle-de bolsa, ýokardaky çäklendirmäniň ýerine ýetirilmegi bilen, çeňňek bombasy üstünlik gazanyp bilmez, emma ulgam dolandyryjysy bu bilen baglanyşykly prosesi öldürýänçä ulanyjy gulplanar:

Maslahat: Ulimit tarapyndan mümkin bolup biljek beýleki çäklendirmeler limit.conf faýlynda dokumentleşdirildi.

Linux Beýleki amallary dolandyrmak gurallary

Öň ara alnyp maslahatlaşylan gurallara goşmaça ulgam dolandyryjysy hem zerur bolup biler:

a) “Renis” ulanyp, ýerine ýetiriş ähmiýetini (ulgam çeşmelerini ulanmak) üýtgediň. Bu, ýadro bellenen ileri tutulýan ugurda ( -20 19 ).

Bahasy näçe pes bolsa, ýerine ýetiriş ähmiýeti şonça-da ýokarydyr. Adaty ulanyjylar (kökden başga) diňe özlerine degişli prosesleriň ýakynlygyny has ýokary gymmata üýtgedip bilerler (ýerine ýetirişiň has pes ähmiýetini aňladýar), kök bolsa bu bahany islendik amal üçin üýtgedip biler we artdyryp ýa-da peseldip biler.

Renisiň esasy sintaksisi aşakdakylar:

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

Täze ileri tutulýan bahadan soň argument ýok bolsa (boş), adaty ýagdaýda PID-e düzülýär. Bu ýagdaýda, PID=kesgitleýji bilen işiň owadanlygy düzülýär.

b) Zerur bolanda prosesiň adaty ýerine ýetirilmegini kesiň. Bu, adatça, öldürmek diýlip atlandyrylýar. Baş kapotyň aşagynda, bu amalyň ýerine ýetirilişini dogry gutarmak we ulanylan çeşmeleri tertipli çykarmak üçin signal ibermegi aňladýar.

Bir prosesi öldürmek üçin öldürmek buýrugyny aşakdaky ýaly ulanyň:

# kill PID

Ativea-da bolmasa, berlen eýesiniň (-u) ýa-da toparyň eýesi (-G) ýa-da PPID bolan amallaryň hemmesini bes etmek üçin pkill ulanyp bilersiňiz. umumy (-P) . Bu opsiýalara san görkezijisi ýa-da kesgitleýji hökmünde hakyky ady yzarlanyp bilner:

# pkill [options] identifier

Mysal üçin,

# pkill -G 1000

GID=1000 bilen topara degişli ähli amallary öldürer.

We,

# pkill -P 4993 

PPID 4993 bolan ähli amallary öldürer.

Pkill işlemezden ozal netijeleri pgrep bilen barlamak gowy zat, belki -l opsiýasyny ulanyp, amallaryň atlaryny sanamak üçin. Şol bir warianty alýar, ýöne pkill ulanylsa öldüriljek prosesleriň PID-lerini yzyna gaýtaryp berýär (hiç hili çäre görmezden).

# pgrep -l -u gacanepa

Bu indiki suratda görkezilýär:

Gysgaça mazmun

Bu makalada Linux ulgamynda möhüm enjam we programma üpjünçiliginiň bölekleriniň bitewiligini we elýeterliligini barlamak üçin çeşmeleriň ulanylyşyna gözegçilik etmegiň birnäçe usulyny öwrendik.

Şeýle hem adaty bolmadyk ýagdaýlarda degişli çäreleri görmegi öwrendik (ýa-da berlen prosesiň ýerine ýetirilişiniň ähmiýetini sazlamak ýa-da ýatyrmak arkaly).

Bu gollanmada düşündirilen düşünjeler peýdaly bolar diýip umyt edýäris. Soraglaryňyz ýa-da teswirleriňiz bar bolsa, aşakdaky aragatnaşyk formuny ulanyp bize ýüz tutup bilersiňiz.