“Linux” prosessiniň ähmiýetini nädip düzmeli?


Bu makalada, ýadro meýilleşdirijisini (amal meýilnamasy hökmünde hem bellidir) we bu gollanmanyň çäginden çykmajak temalary gysgaça düşündireris. Soňra Linux amallaryny dolandyrmagyň birneme öwreneris: üýtgedilen ähmiýetli programmany ýa-da buýrugy nädip işletmelidigini we Linux amallarynyň işleýşiniň ähmiýetini üýtgediň.

Şeýle hem okaň: Linux amallaryna nädip gözegçilik etmeli we ulanyjy başyna amal çäklerini nädip kesgitlemeli

Ernadro meýilleşdirijisi, indiki ýerine ýetirmek üçin işleýän ähli amallardan iň amatly prosesi kesgitleýän ýadro birligi; ulgamda işleýän prosesleriň arasynda prosessor wagtyny bölýär. Işläp bolýan proses, diňe CPU wagtyna garaşýan, ýerine ýetirmäge taýyn.

Meýilleşdiriji ulgamda işledip boljak prosesleriň arasynda saýlamak üçin ileri tutulýan meýilnama algoritmini ulanyp, Linux-da köp işlemegiň özenini emele getirýär. Iň mynasyp, şeýle hem CPU wagtynyň zerurlygyna esaslanýan amallary düzýär.

Ernadro, prosesiň ileri tutulmagyny goşmak bilen prosesler barada köp maglumatlary saklaýar, bu diňe bir prosese meýilleşdirilýän ileri tutulýan ugur. Has ileri tutulýan amallar, has ileri tutulýanlardan öň ýerine ýetiriler, şol bir ähmiýetli amallar indiki, yzly-yzyna yzygiderli meýilleşdirilýär.

Linux-da jemi 140 ileri tutulýan we iki sany aýratyn ähmiýetli diapazon bar. Birinjisi, -20 (iň ýokary ähmiýetli baha) -dan 19 (iň pes ähmiýetli baha) çenli üýtgeýän asyl baha (ýakynlyk) we asyl 0 , şu gollanmada açarys. Beýlekisi, real wagt ähmiýeti, 1-den 99-a çenli üýtgeýär, soň 100-den 139-a çenli ulanyjy üçin niýetlenendir.

Linux-yň möhüm bir aýratynlygy, dinamiki ileri tutulýan meýilnamalaşdyrmakdyr, bu bolsa indiki görşümiz ýaly zerurlyklaryňyza baglylykda prosesleriň ajaýyp bahasyny üýtgetmäge (köpeltmäge ýa-da peseltmäge) mümkinçilik berýär.

Linux amallarynyň gowy bahasyny nädip barlamaly

Prosesleriň ajaýyp gymmatlyklaryny görmek üçin htop ýaly kömekçi enjamlary ulanyp bileris.

Ulanyjy kesgitlän formatda ps buýrugy bilen ajaýyp bahalary görmek üçin (bu ýerde NI sütün prosesleriň ýakynlygyny görkezýär).

$ ps -eo pid,ppid,ni,comm

Ativea-da bolmasa, Linux prosesslerini görkezilişi ýaly gowy bahalary görmek üçin ýokarky ýa-da htop kömekçi enjamlaryny ulanyp bilersiňiz.

$ top
$ htop

Aboveokardaky we htop netijelerinden, bir prosesiň ileri tutulýandygyny görkezýän PR we PRI atly sütüniň bardygyny görersiňiz.

Bu, şonuň üçin:

  • NI - ulanyjy giňişligi düşünjesi bolan
  • PR ýa-da PRI - Linux ýadrosynda görşi ýaly bu işiň iň möhüm ähmiýeti.

Total number of priorities = 140
Real time priority range(PR or PRI):  0 to 99 
User space priority range: 100 to 139

Gowy baha diapazony (NI): -20-den 19-a çenli

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.

Belowöne aşakdaky skrinshotda görkezilişi ýaly san däl-de, rt görseňiz, bu prosesiň real wagt meýilnamalaşdyrylyşynyň çäginde işleýändigini aňladýar.

Linux-da berlen gowy baha bilen buýrugy nädip işletmeli

Bu ýerde, programmanyň ýa-da buýrugyň CPU ulanylyşyny nädip ileri tutmalydygyna serederis. Örän CPU talap edýän programmaňyz ýa-da meseläňiz bar bolsa, ýöne gutarmak üçin köp wagt gerek bolup biljekdigine düşünýän bolsaňyz, gowy buýrugy ulanyp, ony ýokary ýa-da amatly ileri tutup bilersiňiz.

Sintaksis aşakdaky ýaly:

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

Üns beriň:

  • Hiç hili baha berilmeýän bolsa, oňat tertipde 10-dan ileri tutulýar.
  • Buýruk ýa-da programma, noluň ileri tutulýan ýerine gowy defoltsyz işleýär.
  • Diňe kök artan ýa-da ýokary ähmiýetli buýruk ýa-da programma işledip biler.
  • Adaty ulanyjylar diňe pes ähmiýetli buýruk ýa-da programma işledip bilerler.

Mysal üçin, bir programma ýa-da buýrugy deslapky ähmiýet bilen başlamagyň ýerine, aşakdaky gowy buýrugy ulanyp, belli bir ähmiýet bilen başlap bilersiňiz.

$ sudo nice -n 5 tar -czf backup.tar.gz ./Documents/*
OR
$ sudo nice --adjustment=5 tar -czf backup.tar.gz ./Documents/*

Esasanam negatiw owadanlyk bahalary üçin birneme bulaşdyrýan üçünji usuly hem ulanyp bilersiňiz.

$ sudo nice -5 tar -czf backup.tar.gz  ./Documents/*

Linux-da amalyň meýilnamalaşdyryş ähmiýetini üýtgediň

Öň hem belläp geçişimiz ýaly, Linux dinamiki ileri tutulýan esasly meýilnamalaşdyrmaga mümkinçilik berýär. Şonuň üçin bir programma eýýäm işleýän bolsa, “renice” buýrugy bilen ileri tutulýan zady şu görnüşde üýtgedip bilersiňiz:

$ renice -n  -12  -p 1055
$ renice -n -2  -u apache

Aşakdaky ýokarky çykyş nusgasyndan, PID 1055 bilen toparlaryň + owadanlygy indi -12 we ulanyjy apache eýe bolan ähli amallar üçin -2 .

Henizem bu çykyşy ulanyp, PR=20 + NI formulasyny görüp bilersiňiz,

PR for ts3server = 20 + -12 = 8
PR for apache processes = 20 + -2 = 18

Ulanyjynyň amallaryna renice buýrugy bilen girizen islendik üýtgeşmeleriňiz, indiki gaýtadan açylýança ulanylýar. Hemişelik başlangyç bahalary bellemek üçin indiki bölümi okaň.

Belli bir ulanyjynyň amallarynyň asyl bahasyny nädip düzmeli

Belli bir ulanyjynyň ýa-da toparyň başlangyç bahasyny /etc/security/limits.conf faýlynda düzüp bilersiňiz. Esasy wezipesi, PAM-a giren ulanyjylar üçin çeşme çäklerini kesgitlemek.

Ulanyjynyň çägini kesgitlemek üçin sintaksis aşakdaky ýalydyr (we dürli sütünleriň mümkin bolan bahalary faýlda düşündirilýär):

#<domain>   <type>  <item>  <value>

Indi aşakdaky sintaksisden peýdalanyň - gaty baglanyşyklary we ýumşak serişdeleri - ýumşak çäkleri ýerine ýetirmek diýmekdir.

<username>  <hard|soft>  priority  <nice value>

Ativea-da bolmasa, ýokardaky esasy faýldaky sazlamalary ýok edýän /etc/security/limits.d/ faýly dörediň we bu faýllar elipbiý tertibinde okalýar.

Ulanyjy tekminti üçin /etc/security/limits.d/tecmint-priority.conf faýly döretmekden başlaň:

# vi /etc/security/limits.d/tecmint-priority.conf

Soňra bu konfigurasiýany goşuň:

tecmint  hard  priority  10

Faýly ýazdyryň we ýapyň. Mundan beýläk, tecmint-e degişli islendik prosesiň bahasy 10 we PR 30 bolar.

Has giňişleýin maglumat üçin owadan we üýtgeşik adam sahypalaryny okaň:

$ man nice
$ man renice 

Linux amallaryny dolandyrmak barada şu aşakdaky makalalary okamak isläp bilersiňiz.

  1. Linux-da işleýiş amallaryny nädip tapmaly we öldürmeli
  2. Linux-da bir prosesi ýatyrmak üçin öldürmek, Pkill we Killall buýruklary üçin gollanma
  3. Ulgam ulanylyşyna, kesilmegine we Linux serwerleriniň näsazlyklaryna nädip gözegçilik etmeli
  4. CPUTool - Linux-da islendik prosessiň ulanylmagyny çäklendiriň we gözegçilikde saklaň

Bu makalada ýadro meýilnamasyny gysgaça düşündirdik, işiň ileri tutulmagy, üýtgedilen ileri tutulýan programma ýa-da buýrugy nädip işletmelidigine, şeýle hem işjeň Linux amallarynyň ähmiýetini üýtgetmäge syn etdik. Bu mowzuk bilen baglanyşykly islendik pikirleri aşakdaky seslenme formasy arkaly paýlaşyp bilersiňiz.