LFCS: Kula da Tsarin Amfani da Albarkatun Linux da Sanya Iyakokin Tsari akan Tushen Mai Amfani - Sashe na 14


Saboda gyare-gyare na baya-bayan nan a cikin manufofin jarrabawar takaddun shaida na LFCS daga ranar 2 ga Fabrairu, 2016, muna ƙara abubuwan da ake buƙata zuwa jerin LFCE kuma.

Kowane mai gudanar da tsarin Linux yana buƙatar sanin yadda ake tabbatar da daidaito da wadatar kayan masarufi, albarkatu, da mahimman matakai. Bugu da kari, saita iyakokin albarkatu akan kowane mai amfani dole ne kuma ya kasance wani bangare na tsarin fasahar sa.

A cikin wannan labarin za mu bincika wasu hanyoyi don tabbatar da cewa tsarin duka hardware da software suna aiki daidai don kauce wa matsalolin da za su iya haifar da raguwar samar da lokaci da asarar kuɗi.

Ƙididdiga Masu Rahoto Linux

Tare da mpstat zaku iya duba ayyukan ga kowane mai sarrafawa daban-daban ko tsarin gabaɗaya, duka a matsayin hoto na lokaci ɗaya ko mai ƙarfi.

Don amfani da wannan kayan aikin, kuna buƙatar shigar da 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]

Kara karantawa game da sysstat kuma kayan aiki ne a Koyi Sysstat da Utilities mpstat, pidstat, iostat da sar a cikin Linux

Da zarar kun shigar da mpstat, yi amfani da shi don samar da rahotannin ƙididdiga masu sarrafawa.

Don nuna rahotannin duniya 3 na amfani da CPU (-u) ga duk CPUs (kamar yadda -P ALL) ke nunawa a tazarar daƙiƙa 2, yi:

# 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

Don duba ƙididdiga iri ɗaya don takamaiman CPU (CPU 0 a cikin misali mai zuwa), yi amfani da:

# 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

Fitowar umarni na sama yana nuna waɗannan ginshiƙai:

  1. CPU: Lamba mai sarrafawa azaman lamba, ko kalmar duk a matsayin matsakaita ga duk masu sarrafawa.
  2. %usr: Kashi na amfanin CPU yayin gudanar da aikace-aikacen matakin mai amfani.
  3. % nice: Daidai da %usr, amma tare da kyakkyawar fifiko.
  4. %sys: Kashi na amfanin CPU wanda ya faru yayin aiwatar da aikace-aikacen kernel. Wannan baya haɗa da lokacin da aka kashe don magance katsewa ko sarrafa kayan aiki.
  5. %iowait: Kashi na lokacin da CPU ɗin da aka bayar (ko duka) ba ya aiki, lokacin da akwai aikin I/O mai ƙarfi da aka tsara akan wannan CPU. Ana iya samun ƙarin cikakken bayani (tare da misalai) anan.
  6. %irq: Kashi na lokacin da aka kashe don katse kayan aikin.
  7. % soft: Daidai da % irq, amma tare da katse software.
  8. % sata: Kashi na lokacin da aka kashe a cikin jira ba tare da son rai ba (sata ko lokacin sata) lokacin da injin kama-da-wane, a matsayin baƙo, ke \nasara hankalin mai hawan jini yayin fafatawa da CPU(s) Ya kamata a kiyaye wannan ƙimar a ƙanƙanta gwargwadon iyawa.Maɗaukakiyar ƙima a cikin wannan filin yana nufin injin kama-da-wane yana tsayawa - ko kuma nan ba da jimawa ba zai kasance.
  9. % bako: Kashi na lokacin da aka kashe yana tafiyar da na'ura mai kwakwalwa.
  10. % rago: yawan lokacin da CPU(s) ba sa aiwatar da kowane ɗawainiya. Idan ka lura da ƙarancin ƙima a cikin wannan ginshiƙi, wannan alama ce ta tsarin da aka sanya shi ƙarƙashin nauyi mai nauyi. A wannan yanayin, kuna buƙatar bincika jerin abubuwan da ake aiwatarwa, kamar yadda za mu tattauna nan da minti ɗaya, don sanin abin da ke haifar da shi.

Don sanya wurin mai sarrafawa a ƙarƙashin ɗan ƙaramin nauyi, gudanar da umarni masu zuwa sannan aiwatar da mpstat (kamar yadda aka nuna) a cikin tasha daban:

# 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

A ƙarshe, kwatanta da fitarwar mpstat a ƙarƙashin yanayi na al'ada:

Kamar yadda kuke gani a hoton da ke sama, CPU 0 yana ƙarƙashin nauyi mai nauyi a lokacin misalai biyu na farko, kamar yadda ginshiƙin % rashin aiki ya nuna.

A cikin sashe na gaba za mu tattauna yadda za a gano waɗannan hanyoyin da ke fama da yunwa, yadda za a sami ƙarin bayani game da su, da kuma yadda za a dauki matakan da suka dace.

Rahoto Tsarin Linux

Don jera hanyoyin warware su ta hanyar amfani da CPU, za mu yi amfani da sanannun umarnin ps tare da -eo (don zaɓar duk matakai tare da tsarin mai amfani) da --sort (don tantance tsari na musamman) zaɓuɓɓuka, kamar haka:

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

Umurnin da ke sama zai nuna kawai PID, PPID, umarnin da ke da alaƙa da tsarin, da yawan adadin CPU da RAM da aka jera ta yawan yawan amfani da CPU a cikin tsari mai saukowa. . Lokacin da aka kashe lokacin ƙirƙirar fayil ɗin .iso, ga ƴan layukan farko na fitarwa:

Da zarar mun gano tsarin sha'awa (kamar wanda ke da PID=2822), za mu iya kewaya zuwa /proc/PID (/proc/2822 ) a wannan yanayin) kuma yi lissafin shugabanci.

Wannan kundin adireshi shine inda ake adana fayiloli da ƙananan bayanai da cikakkun bayanai game da wannan takamaiman tsari yayin da yake gudana.

  1. /proc/2822/io ya ƙunshi kididdigar IO don aiwatarwa (yawan haruffa da bytes da aka karanta da rubutawa, da sauransu, yayin ayyukan IO).
  2. /proc/2822/attr/current yana nuna halayen tsaro na SELinux na yanzu.
  3. /proc/2822/cgroup yana bayyana ƙungiyoyin sarrafawa (rukunin gajarce) waɗanda tsarin zai kasance idan an kunna zaɓin daidaitawar kernel na CONFIG_CGROUPS, wanda zaku iya tantancewa tare da:

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

Idan zaɓin ya kunna, ya kamata ku gani:

CONFIG_CGROUPS=y

Yin amfani da rukunoni za ku iya sarrafa adadin da aka ba da izinin amfani da albarkatu bisa ga kowane tsari kamar yadda aka bayyana a cikin Babi na 1 zuwa 4 na sashin Rukunin Sarrafa na takaddun uwar garken Ubuntu 14.04.

The /proc/2822/fd kundin adireshi ne da ke ƙunshe da mahaɗin alama ɗaya don kowane mai siffanta fayil ɗin da tsarin ya buɗe. Hoton da ke gaba yana nuna wannan bayanin don tsarin da aka fara a tty1 (tasha ta farko) don ƙirƙirar hoton .iso:

Hoton da ke sama yana nuna cewa stdin (mai bayanin fayil 0), stdout (mai bayanin fayil 1), da stderr (mai siffanta fayil 2) an tsara su zuwa /dev/zero, /root/test.iso, da /dev/tty1, bi da bi.

Ana iya samun ƙarin bayani game da /proc a cikin takaddun /proc tsarin fayil ɗin da Kernel.org ke kiyayewa da kiyaye shi, kuma a cikin Manual Programmer's Linux.

Saita Iyakokin Albarkatu akan Tushen Mai Amfani a cikin Linux

Idan ba ka yi hankali ba kuma ka ƙyale kowane mai amfani ya gudanar da matakai marasa iyaka, ƙila a ƙarshe za ka fuskanci rufewar tsarin ba zato ba tsammani ko kuma a kulle ka yayin da tsarin ya shiga yanayin da ba za a iya amfani da shi ba. Don hana faruwar hakan, yakamata ku sanya iyaka akan adadin hanyoyin da masu amfani zasu iya farawa.

Don yin wannan, shirya /etc/security/limits.conf kuma ƙara layin mai zuwa a kasan fayil ɗin don saita iyaka:

*   	hard	nproc   10

Za a iya amfani da filin farko don nuna ko dai mai amfani, ƙungiya, ko dukkansu (*), yayin da filin na biyu ya tilasta ƙayyadaddun iyaka akan adadin tsari (nproc) zuwa 10. yi canje-canje, fita da dawowa ya isa.

Don haka, bari mu ga abin da zai faru idan wani mai amfani ban da tushen (ko dai na halal ko a'a) yayi ƙoƙarin fara bam ɗin harsashi. Idan ba mu aiwatar da iyakoki ba, wannan zai fara ƙaddamar da misalai biyu na aiki, sa'an nan kuma mu kwafi kowane ɗayansu a cikin madauki mara iyaka. Don haka, a ƙarshe zai kawo tsarin ku zuwa rarrafe.

Koyaya, tare da ƙuntatawa na sama a wurin, bam ɗin cokali mai yatsa bai yi nasara ba amma mai amfani zai ci gaba da kulle shi har sai mai sarrafa tsarin ya kashe tsarin da ke da alaƙa da shi:

NASIHA: Sauran yuwuwar hani da aka yi ta hanyar ulimit an rubuta su a cikin fayil ɗin liits.conf.

Linux Sauran Kayan aikin Gudanar da Tsari

Baya ga kayan aikin da aka tattauna a baya, mai kula da tsarin na iya buƙatar:

a) Gyara fifikon aiwatarwa (amfani da albarkatun tsarin) na tsari ta amfani da renice. Wannan yana nufin cewa kernel zai keɓance fiye ko žasa albarkatun tsarin ga tsari bisa fifikon da aka sanya (lambar da aka fi sani da kyau a cikin kewayon -20 zuwa 19).

Ƙananan ƙimar, mafi girman fifikon kisa. Masu amfani na yau da kullun (banda tushen) na iya canza kyawun tsarin tafiyar da suka mallaka zuwa mafi girman ƙima (ma'ana ƙaramin fifikon aiwatarwa), yayin da tushen zai iya canza wannan ƙimar ga kowane tsari, kuma yana iya haɓaka ko rage shi.

Asalin ma'anar renice shine kamar haka:

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

Idan hujjar bayan sabuwar ƙimar fifiko ba ta nan (ba komai), an saita ta zuwa PID ta tsohuwa. A wannan yanayin, an saita kyawun tsari tare da PID=mai ganowa zuwa sabon fifiko >.

b) Katse aikin al'ada na tsari lokacin da ake buƙata. Wannan ana kiransa da suna \kashe tsarin. A ƙarƙashin murfin, wannan yana nufin aika tsarin sigina don kammala aiwatar da shi yadda ya kamata da kuma fitar da duk wani abu da aka yi amfani da shi a cikin tsari.

Don kashe tsari, yi amfani da umarnin kashe kamar haka:

# kill PID

A madadin, za ka iya amfani da pkill don ƙare duk matakai na mai shi (-u), ko mai ƙungiyar (-G) , ko ma waɗancan hanyoyin da ke da PPID a gama gari (-P) . Ana iya bin waɗannan zaɓuɓɓuka da wakilcin lamba ko ainihin suna azaman mai ganowa:

# pkill [options] identifier

Misali,

# pkill -G 1000

zai kashe duk matakai mallakar rukuni tare da GID=1000.

Kuma,

# pkill -P 4993 

zai kashe duk hanyoyin da PPID shine 4993.

Kafin gudanar da pkill, yana da kyau a gwada sakamakon tare da pgrep da farko, wataƙila ta amfani da zaɓi na -l haka kuma don jera sunayen hanyoyin. Yana ɗaukar zaɓuɓɓuka iri ɗaya amma kawai yana dawo da PIDs na matakai (ba tare da ɗaukar wani mataki ba) waɗanda za a kashe idan aka yi amfani da pkill.

# pgrep -l -u gacanepa

An kwatanta wannan a hoto na gaba:

Takaitawa

A cikin wannan labarin mun bincika ƴan hanyoyi don sa ido kan yadda ake amfani da albarkatu don tabbatar da daidaito da wadatar kayan masarufi da kayan masarufi masu mahimmanci a cikin tsarin Linux.

Mun kuma koyi yadda ake ɗaukar matakin da ya dace (ko dai ta hanyar daidaita fifikon aiwatar da tsarin da aka bayar ko ta hanyar dakatar da shi) a cikin yanayi na ban mamaki.

Muna fatan abubuwan da aka bayyana a cikin wannan koyawa sun taimaka. Idan kuna da wata tambaya ko tsokaci, jin daɗi ku same mu ta amfani da fom ɗin tuntuɓar da ke ƙasa.