CPUTool - Linux-ലെ ഏത് പ്രക്രിയയുടെയും CPU ഉപയോഗം പരിമിതപ്പെടുത്തുകയും നിയന്ത്രിക്കുകയും ചെയ്യുക


ഒരു സിസ്റ്റത്തിൽ കാര്യങ്ങൾ എങ്ങനെ വികസിക്കുന്നുവെന്ന് നിരീക്ഷിക്കാൻ Linux പെർഫോമൻസ് മോണിറ്ററിംഗ് ടൂളുകൾക്ക് കീഴിലുള്ള നിർണായക മേഖലകളിലൊന്ന്.

ഈ ടൂളുകളിൽ പലതും സിസ്റ്റം അവസ്ഥ/സ്ഥിതിവിവരക്കണക്കുകൾ ഔട്ട്uപുട്ട് ചെയ്യുന്നു, മറ്റു ചിലത് നിങ്ങൾക്ക് സിസ്റ്റം പെർഫോമൻസ് കൈകാര്യം ചെയ്യുന്നതിനുള്ള മാർഗങ്ങൾ നൽകുന്നു. CPUTool എന്ന് വിളിക്കപ്പെടുന്ന അത്തരമൊരു ഉപകരണം.

CPUTool എന്നത് ഒരു നിശ്ചിത പരിധിയിലേക്ക് ഏത് പ്രക്രിയയുടെയും CPU ഉപയോഗം പരിമിതപ്പെടുത്തുന്നതിനും നിയന്ത്രിക്കുന്നതിനുമുള്ള ലളിതവും എന്നാൽ ശക്തവുമായ ഒരു കമാൻഡ്-ലൈൻ ഉപകരണമാണ്, കൂടാതെ സിസ്റ്റം ലോഡ് ഒരു നിശ്ചിത പരിധി കവിഞ്ഞാൽ പ്രോസസ്സ് എക്സിക്യൂഷൻ തടസ്സപ്പെടുത്താൻ അനുവദിക്കുന്നു.

സിപിയു ഉപയോഗം പരിമിതപ്പെടുത്തുന്നതിനായി, cputool പ്രോസസ്സുകളിലേക്ക് SIGSTOP, SIGCONT സിഗ്നലുകൾ അയയ്ക്കുന്നു, ഇത് സിസ്റ്റം ലോഡ് അനുസരിച്ചാണ് നിർണ്ണയിക്കുന്നത്. PID-കളും അവയുടെ CPU ഉപയോഗ അളവുകളും വായിക്കാൻ ഇത് /proc വ്യാജ ഫയൽസിസ്റ്റത്തെ ആശ്രയിക്കുന്നു.

ഒരൊറ്റ പ്രോസസ്സ് അല്ലെങ്കിൽ ഒരു കൂട്ടം പ്രോസസുകൾ സ്വാധീനിക്കുന്ന സിപിയു ഉപയോഗമോ സിസ്റ്റം ലോഡോ ഒരു നിശ്ചിത പരിധിയിലേക്ക് പരിമിതപ്പെടുത്താനും കൂടാതെ/അല്ലെങ്കിൽ സിസ്റ്റം ലോഡ് ഒരു പരിധിക്കപ്പുറം പോയാൽ പ്രോസസ്സുകൾ താൽക്കാലികമായി നിർത്താനും ഇത് ഉപയോഗിച്ചേക്കാം.

CPU ഉപയോഗം പരിമിതപ്പെടുത്താനും ശരാശരി ലോഡുചെയ്യാനും CPUTool ഇൻസ്റ്റാൾ ചെയ്യുക

പാക്കേജ് മാനേജ്മെന്റ് ടൂൾ ഉപയോഗിച്ച് ഡിഫോൾട്ട് സിസ്റ്റം റിപ്പോസിറ്ററികളിൽ നിന്ന് ഡെബിയൻ/ഉബുണ്ടുവിലും അതിന്റെ ഡെറിവേറ്റീവുകളിലും ഇൻസ്റ്റാൾ ചെയ്യാൻ മാത്രമേ ഒരു CPUTool ലഭ്യമാകൂ.

$ sudo apt install cputool

ഇപ്പോൾ cputool യഥാർത്ഥത്തിൽ എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നോക്കാം. എല്ലാം പ്രദർശിപ്പിക്കുന്നതിന്, ഞങ്ങൾ ഒരു dd കമാൻഡ് പ്രവർത്തിപ്പിക്കും, അത് പശ്ചാത്തലത്തിൽ ഉയർന്ന CPU ശതമാനത്തിലേക്ക് നയിക്കുകയും അതിന്റെ PID പ്രദർശിപ്പിക്കുകയും ചെയ്യും.

# dd if=/dev/zero of=/dev/null &

CPU ഉപയോഗം നിരീക്ഷിക്കുന്നതിന്, പ്രവർത്തിക്കുന്ന Linux സിസ്റ്റം പ്രോസസ്സുകളുടെ തത്സമയ പതിവായി അപ്uഡേറ്റ് ചെയ്യുന്ന അവസ്ഥ കാണാൻ ഞങ്ങളെ അനുവദിക്കുന്ന ഗ്ലൻസ് ടൂളുകൾ നമുക്ക് ഉപയോഗിക്കാം:

# top

മുകളിലുള്ള ഔട്ട്uപുട്ടിൽ നിന്ന്, dd കമാൻഡിന് CPU സമയത്തിന്റെ ഏറ്റവും ഉയർന്ന ശതമാനം ഉണ്ടെന്ന് നമുക്ക് കാണാൻ കഴിയും 99.7%) ഇപ്പോൾ നമുക്ക് ഇത് cputool ഉപയോഗിച്ച് പരിമിതപ്പെടുത്താം.

--cpu-limit അല്ലെങ്കിൽ -c ഫ്ലാഗ് ഒരു പ്രോസസിനോ പ്രോസസുകളുടെ ഗ്രൂപ്പിനോ ഉപയോഗ ശതമാനം സജ്ജീകരിക്കുന്നതിനും -p വ്യക്തമാക്കുന്നതിനും ഉപയോഗിക്കുന്നു. ഒരു PID. ഇനിപ്പറയുന്ന കമാൻഡ് dd കമാൻഡ് (PID 8275) ഒരു സിപിയു കോറിന്റെ 50% ഉപയോഗമായി പരിമിതപ്പെടുത്തും:

# cputool --cpu-limit 50 -p 8275 

cputool പ്രവർത്തിപ്പിച്ചതിന് ശേഷം, പ്രോസസ്സിനായുള്ള പുതിയ CPU ഉപയോഗം (PID 8275) നമുക്ക് ഒരിക്കൽ കൂടി പരിശോധിക്കാം. ഇപ്പോൾ ഡിഡി പ്രോസസിനായുള്ള സിപിയു ഉപയോഗം (49.0%-52.0%) മുതൽ ആയിരിക്കണം.

# top

dd-യുടെ CPU ഉപയോഗം 20% ആയി പരിമിതപ്പെടുത്താൻ, നമുക്ക് രണ്ടാമതും cputool പ്രവർത്തിപ്പിക്കാം:

# cputool --cpu-limit 20 -p 8275 

തുടർന്ന് ഇതുപോലുള്ള ഗ്ലാൻസ് പോലുള്ള ടൂളുകൾ ഉപയോഗിച്ച് ഉടൻ പരിശോധിക്കുക (dd-യുടെ CPU ഉപയോഗം ഇപ്പോൾ 19.0%-22.0% അല്ലെങ്കിൽ ഇതിന് അല്പം അപ്പുറം ആയിരിക്കണം):

# top

cputool പ്രവർത്തിക്കുമ്പോൾ ഷെൽ ഉപയോക്തൃ ഇൻപുട്ടൊന്നും പ്രതീക്ഷിക്കുന്നില്ലെന്ന കാര്യം ശ്രദ്ധിക്കുക; അതിനാൽ പ്രതികരണശേഷിയില്ലാത്തവനാകുന്നു. അതിനെ നശിപ്പിക്കാൻ (ഇത് CPU ഉപയോഗ പരിമിതി പ്രവർത്തനം അവസാനിപ്പിക്കും), Ctrl + C അമർത്തുക.

പ്രധാനമായി, ഒരു പ്രോസസ് ഗ്രൂപ്പ് വ്യക്തമാക്കുന്നതിന് (പ്രത്യേകമായ PID ഉള്ള നിരവധി പ്രവർത്തിക്കുന്ന സംഭവങ്ങളുള്ള ഒരു പ്രോഗ്രാം) ഉദാഹരണത്തിന് HTTP വെബ് സെർവർ:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

ഇതുപോലെ -P ഫ്ലാഗ് ഉപയോഗിക്കുക:

# cputool --cpu-limit 20 -P 1780

പ്രോസസിനോ പ്രോസസ് ഗ്രൂപ്പിനോ പ്രവർത്തിക്കുന്നത് തുടരുന്നതിന് സിസ്റ്റം പോയേക്കാവുന്ന പരമാവധി ലോഡ് വ്യക്തമാക്കാൻ -l ഓപ്ഷൻ ഉപയോഗിക്കുന്നു. ഞങ്ങൾ ഒരു ഫ്രാക്ഷണൽ മൂല്യം ഉപയോഗിച്ചേക്കാം (ഉദാ. 2.5).

താഴെയുള്ള ഉദാഹരണം അർത്ഥമാക്കുന്നത് സിസ്റ്റം ലോഡ് 3.5 കവിയാത്തപ്പോൾ മാത്രം ഒരു ലോക്കൽ ബാക്കപ്പിനായി rsync പ്രവർത്തിപ്പിക്കുക എന്നാണ്:

# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

കൂടുതൽ വിവരങ്ങൾക്കും ഉപയോഗത്തിനും, CPUTool മാൻ പേജ് കാണുക:

# man cputool

സിപിയു വിവരങ്ങളും സിപിയു പ്രകടന നിരീക്ഷണവും കണ്ടെത്തുന്നതിന് ഇനിപ്പറയുന്ന ഉപയോഗപ്രദമായ ഗൈഡുകൾ പരിശോധിക്കുക:

  1. ലിനക്സിൽ സിപിയു വിവരങ്ങൾ ലഭിക്കാൻ 9 ഉപയോഗപ്രദമായ കമാൻഡുകൾ
  2. Cpustat – Linux-ൽ പ്രക്രിയകൾ പ്രവർത്തിപ്പിച്ച് CPU ഉപയോഗം നിരീക്ഷിക്കുന്നു
  3. CoreFreq – Linux സിസ്റ്റങ്ങൾക്കായുള്ള ഒരു ശക്തമായ CPU മോണിറ്ററിംഗ് ടൂൾ
  4. ലിനക്സിൽ ഉയർന്ന മെമ്മറിയും സിപിയു ഉപയോഗവും ഉപയോഗിച്ച് മികച്ച റണ്ണിംഗ് പ്രക്രിയകൾ കണ്ടെത്തുക

ഉപസംഹാരമായി, Linux പ്രകടന മാനേജ്മെന്റിന് CPUTool ശരിക്കും ഉപയോഗപ്രദമാണ്. ഈ ലേഖനത്തെക്കുറിച്ചുള്ള നിങ്ങളുടെ ചിന്തകൾ ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം വഴി പങ്കിടുക.