എൽഎഫ്uസിഎസ്: ലിനക്സ് പ്രോസസ് റിസോഴ്uസ് ഉപയോഗം നിരീക്ഷിക്കുകയും ഓരോ ഉപയോക്താവിന്റെ അടിസ്ഥാനത്തിൽ പ്രോസസ്സ് പരിധികൾ സജ്ജമാക്കുകയും ചെയ്യുക - ഭാഗം 14


2016 ഫെബ്രുവരി 2 മുതൽ പ്രാബല്യത്തിൽ വരുന്ന LFCS സർട്ടിഫിക്കേഷൻ പരീക്ഷാ ലക്ഷ്യങ്ങളിൽ അടുത്തിടെ വരുത്തിയ മാറ്റങ്ങൾ കാരണം, LFCE സീരീസിലേക്കും ആവശ്യമായ ലേഖനങ്ങൾ ഞങ്ങൾ ചേർക്കുന്നു.

ഹാർഡ്uവെയർ, ഉറവിടങ്ങൾ, പ്രധാന പ്രക്രിയകൾ എന്നിവയുടെ സമഗ്രതയും ലഭ്യതയും എങ്ങനെ പരിശോധിക്കണമെന്ന് ഓരോ ലിനക്സ് സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്ററും അറിഞ്ഞിരിക്കണം. കൂടാതെ, ഓരോ ഉപയോക്താവിന്റെയും അടിസ്ഥാനത്തിൽ റിസോഴ്സ് പരിധികൾ ക്രമീകരിക്കുന്നതും അവന്റെ/അവളുടെ വൈദഗ്ധ്യത്തിന്റെ ഭാഗമായിരിക്കണം.

ഈ ലേഖനത്തിൽ, ഹാർഡ്uവെയറും സോഫ്uറ്റ്uവെയറും ശരിയായി പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കാനുള്ള ചില വഴികൾ ഞങ്ങൾ പര്യവേക്ഷണം ചെയ്യും.

Linux റിപ്പോർട്ടിംഗ് പ്രോസസ്സർ സ്ഥിതിവിവരക്കണക്കുകൾ

mpstat ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഓരോ പ്രോസസറിനും വേണ്ടിയുള്ള പ്രവർത്തനങ്ങൾ വ്യക്തിഗതമായോ അല്ലെങ്കിൽ സിസ്റ്റം മൊത്തത്തിലോ ഒറ്റത്തവണ സ്നാപ്പ്ഷോട്ടായോ ചലനാത്മകമായോ കാണാൻ കഴിയും.

ഈ ഉപകരണം ഉപയോഗിക്കുന്നതിന്, നിങ്ങൾ 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]

Learn Sysstat, അതിന്റെ യൂട്ടിലിറ്റികൾ mpstat, pidstat, iostat, sar എന്നിവയിൽ ലിനക്സിൽ sysstat, അതിന്റെ യൂട്ടിലിറ്റികൾ എന്നിവയെക്കുറിച്ച് കൂടുതൽ വായിക്കുക.

നിങ്ങൾ mpstat ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, പ്രോസസ്സർ സ്ഥിതിവിവരക്കണക്കുകളുടെ റിപ്പോർട്ടുകൾ സൃഷ്ടിക്കാൻ ഇത് ഉപയോഗിക്കുക.

എല്ലാ സിപിയുകൾക്കും (-P ALL സൂചിപ്പിക്കുന്നത് പോലെ) 2-സെക്കൻഡ് ഇടവേളയിൽ CPU ഉപയോഗത്തിന്റെ 3 ആഗോള റിപ്പോർട്ടുകൾ (-u) പ്രദർശിപ്പിക്കുന്നതിന്, ചെയ്യുക:

# 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

ഒരു നിർദ്ദിഷ്uട സിപിയുവിനായുള്ള സമാന സ്ഥിതിവിവരക്കണക്കുകൾ കാണുന്നതിന് (സിപിയു 0 ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ), ഉപയോഗിക്കുക:

# 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

മുകളിലുള്ള കമാൻഡുകളുടെ ഔട്ട്പുട്ട് ഈ നിരകൾ കാണിക്കുന്നു:

  1. സിപിയു: പ്രോസസർ നമ്പർ ഒരു പൂർണ്ണസംഖ്യയായി, അല്ലെങ്കിൽ വാക്ക് എല്ലാം എല്ലാ പ്രോസസ്സറുകൾക്കും ശരാശരിയായി.
  2. %usr: ഉപയോക്തൃ ലെവൽ ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ CPU ഉപയോഗത്തിന്റെ ശതമാനം.
  3. %നല്ലത്: %usr പോലെ തന്നെ, എന്നാൽ നല്ല മുൻഗണനയോടെ.
  4. %sys: കേർണൽ ആപ്ലിക്കേഷനുകൾ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ സംഭവിച്ച CPU ഉപയോഗത്തിന്റെ ശതമാനം. തടസ്സങ്ങൾ കൈകാര്യം ചെയ്യുന്നതിനോ ഹാർഡ്uവെയർ കൈകാര്യം ചെയ്യുന്നതിനോ ചെലവഴിച്ച സമയം ഇതിൽ ഉൾപ്പെടുന്നില്ല.
  5. %iowait: നൽകിയിരിക്കുന്ന സിപിയു (അല്ലെങ്കിൽ എല്ലാം) നിഷ്uക്രിയമായിരുന്ന സമയത്തിന്റെ ശതമാനം, ആ സമയത്ത് ആ സിപിയുവിൽ റിസോഴ്uസ്-ഇന്റൻസീവ് I/O ഓപ്പറേഷൻ ഷെഡ്യൂൾ ചെയ്uതിരുന്നു. കൂടുതൽ വിശദമായ വിശദീകരണം (ഉദാഹരണങ്ങൾക്കൊപ്പം) ഇവിടെ കാണാം.
  6. %irq: ഹാർഡ്uവെയർ ഇന്ററപ്റ്റുകൾക്കായി ചെലവഴിക്കുന്ന സമയത്തിന്റെ ശതമാനം.
  7. %soft: %irq പോലെ തന്നെ, എന്നാൽ സോഫ്റ്റ്uവെയർ തടസ്സങ്ങളോടെ.
  8. %steal: CPU(കൾ)ക്കായി മത്സരിക്കുമ്പോൾ ഒരു വെർച്വൽ മെഷീൻ, അതിഥി എന്ന നിലയിൽ ഹൈപ്പർവൈസറുടെ ശ്രദ്ധ \വിജയിക്കുമ്പോൾ സ്വമേധയാ കാത്തിരിപ്പിൽ (മോഷ്ടിച്ചതോ മോഷ്ടിച്ചതോ ആയ സമയം) ചെലവഴിച്ച സമയത്തിന്റെ ശതമാനം . ഈ മൂല്യം കഴിയുന്നത്ര ചെറുതായി സൂക്ഷിക്കണം. ഈ ഫീൽഡിലെ ഉയർന്ന മൂല്യം അർത്ഥമാക്കുന്നത് വെർച്വൽ മെഷീൻ സ്തംഭനാവസ്ഥയിലാണെന്ന് അർത്ഥമാക്കുന്നു - അല്ലെങ്കിൽ ഉടൻ തന്നെ ആയിരിക്കും.
  9. %അതിഥി: ഒരു വെർച്വൽ പ്രോസസർ പ്രവർത്തിപ്പിക്കാൻ ചെലവഴിച്ച സമയത്തിന്റെ ശതമാനം.
  10. %idle: CPU(കൾ) ടാസ്uക്കുകളൊന്നും നിർവ്വഹിക്കാത്ത സമയത്തിന്റെ ശതമാനം. ഈ നിരയിൽ കുറഞ്ഞ മൂല്യം നിങ്ങൾ നിരീക്ഷിച്ചാൽ, അത് ഒരു കനത്ത ലോഡിന് കീഴിൽ സിസ്റ്റം സ്ഥാപിച്ചിരിക്കുന്നതിന്റെ സൂചനയാണ്. അങ്ങനെയെങ്കിൽ, എന്താണ് സംഭവിക്കുന്നതെന്ന് നിർണ്ണയിക്കാൻ, ഒരു മിനിറ്റിനുള്ളിൽ ഞങ്ങൾ ചർച്ച ചെയ്യുന്നതിനാൽ, പ്രോസസ്സ് ലിസ്റ്റ് നിങ്ങൾ സൂക്ഷ്മമായി പരിശോധിക്കേണ്ടതുണ്ട്.

പ്രൊസസറിനെ അൽപ്പം ഉയർന്ന ലോഡിന് കീഴിലാക്കാൻ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക, തുടർന്ന് ഒരു പ്രത്യേക ടെർമിനലിൽ mpstat (സൂചിപ്പിക്കുന്നത് പോലെ) എക്സിക്യൂട്ട് ചെയ്യുക:

# 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

അവസാനമായി, \സാധാരണ സാഹചര്യങ്ങളിൽ mpstat-ന്റെ ഔട്ട്പുട്ടുമായി താരതമ്യം ചെയ്യുക:

മുകളിലുള്ള ചിത്രത്തിൽ നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, %idle കോളം സൂചിപ്പിക്കുന്നത് പോലെ, ആദ്യത്തെ രണ്ട് ഉദാഹരണങ്ങളിൽ CPU 0 കനത്ത ലോഡിലായിരുന്നു.

ഈ റിസോഴ്uസ്-ഹംഗ്റി പ്രക്രിയകളെ എങ്ങനെ തിരിച്ചറിയാം, അവയെക്കുറിച്ച് കൂടുതൽ വിവരങ്ങൾ എങ്ങനെ നേടാം, എങ്ങനെ ഉചിതമായ നടപടി സ്വീകരിക്കാം എന്നിവയെക്കുറിച്ച് അടുത്ത വിഭാഗത്തിൽ ഞങ്ങൾ ചർച്ച ചെയ്യും.

Linux പ്രക്രിയകൾ റിപ്പോർട്ടുചെയ്യുന്നു

CPU ഉപയോഗം അനുസരിച്ച് ക്രമപ്പെടുത്തുന്ന പ്രക്രിയകൾ ലിസ്റ്റുചെയ്യുന്നതിന്, ഞങ്ങൾ -eo (ഉപയോക്താവ് നിർവചിച്ച ഫോർമാറ്റിലുള്ള എല്ലാ പ്രക്രിയകളും തിരഞ്ഞെടുക്കുന്നതിന്) കൂടാതെ ഉപയോഗിച്ച് അറിയപ്പെടുന്ന ps കമാൻഡ് ഉപയോഗിക്കും. --sort (ഒരു ഇഷ്uടാനുസൃത സോർട്ടിംഗ് ഓർഡർ വ്യക്തമാക്കുന്നതിന്) ഓപ്ഷനുകൾ, ഇതുപോലെ:

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

മുകളിലെ കമാൻഡ്, PID, PPID, പ്രോസസ്സുമായി ബന്ധപ്പെട്ട കമാൻഡ്, അവരോഹണ ക്രമത്തിൽ CPU ഉപയോഗത്തിന്റെ ശതമാനം അനുസരിച്ച് ക്രമീകരിച്ച CPU, RAM എന്നിവയുടെ ശതമാനം എന്നിവ മാത്രമേ കാണിക്കൂ. . .iso ഫയൽ സൃഷ്ടിക്കുമ്പോൾ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, ഔട്ട്പുട്ടിന്റെ ആദ്യ കുറച്ച് വരികൾ ഇതാ:

ഞങ്ങൾ താൽപ്പര്യമുള്ള ഒരു പ്രക്രിയ തിരിച്ചറിഞ്ഞുകഴിഞ്ഞാൽ (PID=2822 ഉള്ളത് പോലെ), ഞങ്ങൾക്ക് /proc/PID (/proc/2822<) എന്നതിലേക്ക് നാവിഗേറ്റ് ചെയ്യാം. ഈ സാഹചര്യത്തിൽ) കൂടാതെ ഒരു ഡയറക്ടറി ലിസ്റ്റിംഗ് നടത്തുക.

ഈ പ്രത്യേക പ്രക്രിയയെ കുറിച്ചുള്ള വിശദമായ വിവരങ്ങളുള്ള നിരവധി ഫയലുകളും ഉപഡയറക്uടറികളും ഇത് പ്രവർത്തിപ്പിക്കുമ്പോൾ സൂക്ഷിക്കുന്നതാണ് ഈ ഡയറക്uടറി.

  1. /proc/2822/io പ്രക്രിയയ്uക്കായുള്ള IO സ്ഥിതിവിവരക്കണക്കുകൾ അടങ്ങിയിരിക്കുന്നു (IO ഓപ്പറേഷനുകൾക്കിടയിൽ വായിക്കുകയും എഴുതുകയും ചെയ്യുന്ന പ്രതീകങ്ങളുടെയും ബൈറ്റുകളുടെയും എണ്ണം).
  2. /proc/2822/attr/current പ്രോസസ്സിന്റെ നിലവിലെ SELinux സുരക്ഷാ ആട്രിബ്യൂട്ടുകൾ കാണിക്കുന്നു.
  3. /proc/2822/cgroup CONFIG_CGROUPS കേർണൽ കോൺഫിഗറേഷൻ ഓപ്uഷൻ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, പ്രോസസ്സ് ഉൾപ്പെടുന്ന കൺട്രോൾ ഗ്രൂപ്പുകളെ (ചുരുക്കത്തിൽ cgroups) വിവരിക്കുന്നു, അത് നിങ്ങൾക്ക് ഇതുപയോഗിച്ച് പരിശോധിക്കാം:

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

ഓപ്ഷൻ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾ കാണണം:

CONFIG_CGROUPS=y

cgroups ഉപയോഗിച്ച്, ഉബുണ്ടു 14.04 സെർവർ ഡോക്യുമെന്റേഷന്റെ നിയന്ത്രണ ഗ്രൂപ്പുകളുടെ വിഭാഗത്തിലെ 1 മുതൽ 4 വരെയുള്ള അധ്യായങ്ങളിൽ വിശദീകരിച്ചിരിക്കുന്നതുപോലെ, ഓരോ പ്രോസസ് അടിസ്ഥാനത്തിൽ നിങ്ങൾക്ക് അനുവദനീയമായ റിസോഴ്സ് ഉപയോഗത്തിന്റെ അളവ് നിയന്ത്രിക്കാനാകും.

/proc/2822/fd എന്നത് പ്രോസസ്സ് തുറന്നിരിക്കുന്ന ഓരോ ഫയൽ വിവരണത്തിനും ഒരു പ്രതീകാത്മക ലിങ്ക് അടങ്ങുന്ന ഒരു ഡയറക്uടറിയാണ്. .iso ഇമേജ് സൃഷ്uടിക്കാൻ tty1 (ആദ്യ ടെർമിനൽ) ആരംഭിച്ച പ്രക്രിയയ്uക്കായി ഇനിപ്പറയുന്ന ചിത്രം ഈ വിവരങ്ങൾ കാണിക്കുന്നു:

stdin (ഫയൽ ഡിസ്ക്രിപ്റ്റർ 0), stdout (ഫയൽ ഡിസ്ക്രിപ്റ്റർ 1), stderr (ഫയൽ ഡിസ്ക്രിപ്റ്റർ 2) എന്നിവ യഥാക്രമം /dev/zero, /root/test.iso, /dev/tty1 എന്നിവയിലേക്ക് മാപ്പ് ചെയ്തിട്ടുണ്ടെന്ന് മുകളിലെ ചിത്രം കാണിക്കുന്നു.

/proc എന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ Kernel.org സൂക്ഷിക്കുകയും പരിപാലിക്കുകയും ചെയ്യുന്ന \The /proc ഫയൽസിസ്റ്റം പ്രമാണത്തിലും Linux പ്രോഗ്രാമറുടെ മാനുവലിലും കാണാം.

ലിനക്സിൽ ഓരോ ഉപയോക്താവിനും റിസോഴ്സ് പരിധികൾ ക്രമീകരിക്കുന്നു

നിങ്ങൾ ശ്രദ്ധിച്ചില്ലെങ്കിൽ, പരിധിയില്ലാത്ത പ്രോസസ്സുകൾ പ്രവർത്തിപ്പിക്കാൻ ഏതെങ്കിലും ഉപയോക്താവിനെ അനുവദിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഒടുവിൽ ഒരു അപ്രതീക്ഷിത സിസ്റ്റം ഷട്ട്ഡൗൺ അനുഭവപ്പെടാം അല്ലെങ്കിൽ സിസ്റ്റം ഉപയോഗശൂന്യമായ അവസ്ഥയിൽ പ്രവേശിക്കുമ്പോൾ ലോക്ക് ഔട്ട് ആകും. ഇത് സംഭവിക്കുന്നത് തടയാൻ, ഉപയോക്താക്കൾക്ക് ആരംഭിക്കാനാകുന്ന പ്രക്രിയകളുടെ എണ്ണത്തിൽ നിങ്ങൾ ഒരു പരിധി നിശ്ചയിക്കണം.

ഇത് ചെയ്യുന്നതിന്, /etc/security/limits.conf എഡിറ്റ് ചെയ്uത് പരിധി സജ്ജീകരിക്കുന്നതിന് ഫയലിന്റെ ചുവടെ ഇനിപ്പറയുന്ന വരി ചേർക്കുക:

*   	hard	nproc   10

ഒരു ഉപയോക്താവിനെയോ ഒരു ഗ്രൂപ്പിനെയോ അവയെല്ലാം (*) സൂചിപ്പിക്കാൻ ആദ്യ ഫീൽഡ് ഉപയോഗിക്കാം, അതേസമയം രണ്ടാമത്തെ ഫീൽഡ് പ്രോസസ്സിന്റെ എണ്ണത്തിൽ (nproc) 10 ആയി കഠിനമായ പരിധി നടപ്പിലാക്കുന്നു. മാറ്റങ്ങൾ പ്രയോഗിക്കുക, ലോഗ് ഔട്ട് ചെയ്uത് തിരികെ പ്രവേശിച്ചാൽ മതി.

അതിനാൽ, റൂട്ട് ഒഴികെയുള്ള ഒരു ഉപയോക്താവ് (ഒന്നുകിൽ നിയമാനുസൃതമായതോ അല്ലാത്തതോ) ഒരു ഷെൽ ഫോർക്ക് ബോംബ് ആരംഭിക്കാൻ ശ്രമിച്ചാൽ എന്ത് സംഭവിക്കുമെന്ന് നോക്കാം. ഞങ്ങൾ പരിധികൾ നടപ്പിലാക്കിയില്ലെങ്കിൽ, ഇത് തുടക്കത്തിൽ ഒരു ഫംഗ്uഷന്റെ രണ്ട് സന്ദർഭങ്ങൾ സമാരംഭിക്കും, തുടർന്ന് അവ ഓരോന്നും ഒരിക്കലും അവസാനിക്കാത്ത ലൂപ്പിൽ ഡ്യൂപ്ലിക്കേറ്റ് ചെയ്യും. അങ്ങനെ, ഇത് ഒടുവിൽ നിങ്ങളുടെ സിസ്റ്റത്തെ ഒരു ക്രാളിലേക്ക് കൊണ്ടുവരും.

എന്നിരുന്നാലും, മേൽപ്പറഞ്ഞ നിയന്ത്രണങ്ങൾ നിലവിലിരിക്കുന്നതിനാൽ, ഫോർക്ക് ബോംബ് വിജയിക്കില്ല, പക്ഷേ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർ അതുമായി ബന്ധപ്പെട്ട പ്രക്രിയയെ ഇല്ലാതാക്കുന്നത് വരെ ഉപയോക്താവ് ലോക്ക് ഔട്ട് ആകും:

നുറുങ്ങ്: ulimit വഴി സാധ്യമായ മറ്റ് നിയന്ത്രണങ്ങൾ limits.conf ഫയലിൽ രേഖപ്പെടുത്തിയിട്ടുണ്ട്.

Linux മറ്റ് പ്രോസസ്സ് മാനേജ്മെന്റ് ടൂളുകൾ

മുമ്പ് ചർച്ച ചെയ്ത ടൂളുകൾക്ക് പുറമേ, ഒരു സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർക്ക് ഇനിപ്പറയുന്നവയും ആവശ്യമായി വന്നേക്കാം:

a) റെനീസ് ഉപയോഗിച്ച് ഒരു പ്രക്രിയയുടെ നിർവ്വഹണ മുൻഗണന (സിസ്റ്റം ഉറവിടങ്ങളുടെ ഉപയോഗം) പരിഷ്ക്കരിക്കുക. ഇതിനർത്ഥം, അസൈൻ ചെയ്uത മുൻuഗണനയെ അടിസ്ഥാനമാക്കി പ്രോസസിലേക്ക് കേർണൽ കൂടുതലോ കുറവോ സിസ്റ്റം റിസോഴ്uസുകൾ അനുവദിക്കും (-20 മുതൽ 19).

മൂല്യം കുറയുന്തോറും നിർവ്വഹണ മുൻഗണനയും വർദ്ധിക്കും. സാധാരണ ഉപയോക്താക്കൾക്ക് (റൂട്ട് ഒഴികെയുള്ളവർ) അവരുടെ ഉടമസ്ഥതയിലുള്ള പ്രോസസുകളുടെ നൈസ്uനെസ് ഒരു ഉയർന്ന മൂല്യത്തിലേക്ക് പരിഷ്uക്കരിക്കാൻ മാത്രമേ കഴിയൂ (അതായത് ഒരു കുറഞ്ഞ എക്uസിക്യൂഷൻ മുൻഗണന), അതേസമയം റൂട്ടിന് ഏത് പ്രോസസ്സിനും ഈ മൂല്യം പരിഷ്uക്കരിക്കാൻ കഴിയും, മാത്രമല്ല അത് കൂട്ടുകയോ കുറയ്ക്കുകയോ ചെയ്യാം.

റെനീസിന്റെ അടിസ്ഥാന വാക്യഘടന ഇപ്രകാരമാണ്:

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

പുതിയ മുൻഗണനാ മൂല്യത്തിന് ശേഷമുള്ള ആർഗ്യുമെന്റ് നിലവിലില്ലെങ്കിൽ (ശൂന്യം), അത് ഡിഫോൾട്ടായി PID ആയി സജ്ജീകരിച്ചിരിക്കുന്നു. അങ്ങനെയെങ്കിൽ, PID=ഐഡന്റിഫയർ ഉപയോഗിച്ചുള്ള പ്രോസസ്സിന്റെ നൈസ്നെസ് ആയി സജ്ജീകരിച്ചിരിക്കുന്നു.

b) ആവശ്യമുള്ളപ്പോൾ ഒരു പ്രക്രിയയുടെ സാധാരണ നിർവ്വഹണം തടസ്സപ്പെടുത്തുക. ഈ പ്രക്രിയയെ \കൊല്ലൽ എന്നാണ് പൊതുവെ അറിയപ്പെടുന്നത്. ഹുഡിന് കീഴിൽ, അതിന്റെ നിർവ്വഹണം ശരിയായി പൂർത്തിയാക്കാനും ഉപയോഗിച്ച ഏതെങ്കിലും ഉറവിടങ്ങൾ ക്രമാനുഗതമായി റിലീസ് ചെയ്യാനും ഒരു സിഗ്നൽ അയയ്ക്കുക എന്നാണ് ഇതിനർത്ഥം.

ഒരു പ്രക്രിയ ഇല്ലാതാക്കാൻ, ഇനിപ്പറയുന്ന രീതിയിൽ കിൽ കമാൻഡ് ഉപയോഗിക്കുക:

# kill PID

പകരമായി, തന്നിരിക്കുന്ന ഉടമയുടെ (-u), അല്ലെങ്കിൽ ഒരു ഗ്രൂപ്പ് ഉടമ (-G) അല്ലെങ്കിൽ PPID ഉള്ള പ്രോസസ്സുകൾ പോലും അവസാനിപ്പിക്കാൻ നിങ്ങൾക്ക് pkill ഉപയോഗിക്കാം. പൊതുവായി (-P). ഈ ഓപ്uഷനുകൾക്ക് ശേഷം സംഖ്യാ പ്രാതിനിധ്യം അല്ലെങ്കിൽ യഥാർത്ഥ പേര് ഐഡന്റിഫയറായി വരാം:

# pkill [options] identifier

ഉദാഹരണത്തിന്,

# pkill -G 1000

GID=1000 ഉള്ള ഗ്രൂപ്പിന്റെ ഉടമസ്ഥതയിലുള്ള എല്ലാ പ്രക്രിയകളെയും ഇല്ലാതാക്കും.

ഒപ്പം,

# pkill -P 4993 

PPID 4993 ആയ എല്ലാ പ്രക്രിയകളെയും ഇല്ലാതാക്കും.

ഒരു pkill പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ്, ആദ്യം pgrep ഉപയോഗിച്ച് ഫലങ്ങൾ പരിശോധിക്കുന്നത് നല്ലതാണ്, ഒരുപക്ഷേ -l ഓപ്ഷനും ഉപയോഗിച്ച് പ്രോസസ്സുകളുടെ പേരുകൾ പട്ടികപ്പെടുത്താം. ഇതിന് സമാന ഓപ്uഷനുകൾ ആവശ്യമാണ്, എന്നാൽ pkill ഉപയോഗിക്കുകയാണെങ്കിൽ നശിപ്പിക്കപ്പെടുന്ന പ്രക്രിയകളുടെ PID-കൾ (കൂടുതൽ നടപടികളൊന്നും എടുക്കാതെ) മാത്രം നൽകുന്നു.

# pgrep -l -u gacanepa

ഇത് അടുത്ത ചിത്രത്തിൽ ചിത്രീകരിച്ചിരിക്കുന്നു:

സംഗ്രഹം

ഒരു ലിനക്സ് സിസ്റ്റത്തിലെ നിർണ്ണായക ഹാർഡ്uവെയർ, സോഫ്uറ്റ്uവെയർ ഘടകങ്ങളുടെ സമഗ്രതയും ലഭ്യതയും പരിശോധിക്കുന്നതിനായി വിഭവ ഉപയോഗം നിരീക്ഷിക്കുന്നതിനുള്ള ചില വഴികൾ ഈ ലേഖനത്തിൽ ഞങ്ങൾ പര്യവേക്ഷണം ചെയ്തിട്ടുണ്ട്.

അസാധാരണമായ സാഹചര്യങ്ങളിൽ എങ്ങനെ ഉചിതമായ നടപടി സ്വീകരിക്കാമെന്നും ഞങ്ങൾ പഠിച്ചു (ഒന്നുകിൽ തന്നിരിക്കുന്ന പ്രക്രിയയുടെ നിർവ്വഹണ മുൻഗണന ക്രമീകരിച്ചുകൊണ്ട് അല്ലെങ്കിൽ അത് അവസാനിപ്പിക്കുന്നതിലൂടെ).

ഈ ട്യൂട്ടോറിയലിൽ വിശദീകരിച്ച ആശയങ്ങൾ സഹായകരമാണെന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു. നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ, ചുവടെയുള്ള കോൺടാക്റ്റ് ഫോം ഉപയോഗിച്ച് ഞങ്ങളെ ബന്ധപ്പെടാൻ മടിക്കേണ്ടതില്ല.