ലിനക്സിൽ ഡിസ്ക് I/O പ്രകടനം നിരീക്ഷിക്കുന്നതിനുള്ള മികച്ച ഉപകരണങ്ങൾ


ചുരുക്കം: ഈ ഗൈഡിൽ, Linux സെർവറുകളിലെ ഡിസ്ക് I/O പ്രവർത്തനം (പ്രകടനം) നിരീക്ഷിക്കുന്നതിനും ഡീബഗ്ഗിംഗ് ചെയ്യുന്നതിനുമുള്ള മികച്ച ടൂളുകൾ ഞങ്ങൾ ചർച്ച ചെയ്യും.

ഒരു ലിനക്സ് സെർവറിൽ നിരീക്ഷിക്കുന്നതിനുള്ള ഒരു പ്രധാന പെർഫോമൻസ് മെട്രിക് ഡിസ്ക് I/O (ഇൻപുട്ട്/ഔട്ട്പുട്ട്) പ്രവർത്തനമാണ്, ഇത് ഒരു ലിനക്സ് സെർവറിന്റെ വിവിധ വശങ്ങളെ, പ്രത്യേകിച്ച് ഫയലുകൾ അല്ലെങ്കിൽ ഡാറ്റ (പ്രത്യേകിച്ച് ഡിസ്കിലേക്ക് സംരക്ഷിക്കുന്നതിനോ വീണ്ടെടുക്കുന്നതിനോ ഉള്ള വേഗതയെ) സാരമായി ബാധിക്കും. ഡാറ്റാബേസ് സെർവറുകളിൽ). ആപ്ലിക്കേഷനുകളുടെയും സേവനങ്ങളുടെയും പ്രകടനത്തിൽ ഇത് ഒരു അലകളുടെ സ്വാധീനം ചെലുത്തുന്നു.

1. iostat - ഉപകരണ ഇൻപുട്ട്, ഔട്ട്പുട്ട് സ്ഥിതിവിവരക്കണക്കുകൾ കാണിക്കുന്നു

സിസ്സ്റ്റാറ്റ് പാക്കേജിലെ സിസ്റ്റം മോണിറ്ററിംഗ് യൂട്ടിലിറ്റികൾ, സിപിയു സ്ഥിതിവിവരക്കണക്കുകളും ബ്ലോക്ക് ഡിവൈസുകൾക്കും പാർട്ടീഷനുകൾക്കുമായി ഐ/ഒ സ്ഥിതിവിവരക്കണക്കുകൾ റിപ്പോർട്ടുചെയ്യുന്നതിനായി രൂപകൽപ്പന ചെയ്തിട്ടുള്ള ഒരു യൂട്ടിലിറ്റിയാണ് ഇത്.

നിങ്ങളുടെ Linux സെർവറിൽ iostat ഉപയോഗിക്കുന്നതിന്, നിങ്ങളുടെ Linux വിതരണത്തിന് ബാധകമായ കമാൻഡ് പ്രവർത്തിപ്പിച്ച് നിങ്ങളുടെ Linux സിസ്റ്റത്തിൽ sysstat പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്.

$ sudo apt install sysstat          [On Debian, Ubuntu and Mint]
$ sudo yum install sysstat          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a app-admin/sysstat  [On Gentoo Linux]
$ sudo apk add sysstat              [On Alpine Linux]
$ sudo pacman -S sysstat            [On Arch Linux]
$ sudo zypper install sysstat       [On OpenSUSE]    

ലളിതമായ ഒരു ഉപകരണ ഉപയോഗ റിപ്പോർട്ട് കാണിക്കാൻ, -d കമാൻഡ് ലൈൻ ഓപ്ഷൻ ഉപയോഗിച്ച് iostat പ്രവർത്തിപ്പിക്കുക. സാധാരണയായി, ആദ്യ റിപ്പോർട്ട് സിസ്റ്റം സ്റ്റാർട്ടപ്പ് (ബൂട്ട് സമയം) മുതലുള്ള സമയത്തെക്കുറിച്ചുള്ള സ്ഥിതിവിവരക്കണക്കുകൾ നൽകുന്നു, കൂടാതെ തുടർന്നുള്ള ഓരോ റിപ്പോർട്ടും മുമ്പത്തെ റിപ്പോർട്ടിന് ശേഷമുള്ള സമയവുമായി ബന്ധപ്പെട്ടതാണ്.

ഒരു വിപുലീകൃത സ്ഥിതിവിവരക്കണക്ക് റിപ്പോർട്ടിനായി -x ഉം ഓരോ റിപ്പോർട്ടിനും സമയം പ്രവർത്തനക്ഷമമാക്കാൻ -t ഫ്ലാഗും ഉപയോഗിക്കുക. കൂടാതെ, റിപ്പോർട്ട് ഔട്ട്പുട്ടിൽ ഒരു പ്രവർത്തനവും കൂടാതെ ഉപകരണങ്ങൾ ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, -z ഫ്ലാഗ് ചേർക്കുക:

# iostat -d -t 
OR
# iostat -d -x -t 

സെക്കൻഡിലെ ബ്ലോക്കുകൾക്ക് വിരുദ്ധമായി സെക്കൻഡിൽ കിലോബൈറ്റിൽ സ്ഥിതിവിവരക്കണക്കുകൾ പ്രദർശിപ്പിക്കുന്നതിന് -k ഫ്ലാഗ് ചേർക്കുക, അല്ലെങ്കിൽ സെക്കൻഡിൽ മെഗാബൈറ്റിൽ സ്ഥിതിവിവരക്കണക്കുകൾ പ്രദർശിപ്പിക്കുന്നതിന് -m ഫ്ലാഗ് ഉപയോഗിക്കുക.

# iostat -d -k
OR
# iostat -d -m

iostat-ന് x സെക്കൻഡ് ഇടവേളകളിൽ തുടർച്ചയായ ഉപകരണ റിപ്പോർട്ടുകളും പ്രദർശിപ്പിക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന കമാൻഡ് രണ്ട് സെക്കൻഡ് ഇടവേളകളിൽ റിപ്പോർട്ടുകൾ പ്രദർശിപ്പിക്കുന്നു:

# iostat -d 2

മുമ്പത്തെ കമാൻഡുമായി ബന്ധപ്പെട്ട്, നിങ്ങൾക്ക് x സെക്കൻഡ് ഇടവേളകളിൽ റിപ്പോർട്ടുകളുടെ n എണ്ണം പ്രദർശിപ്പിക്കാൻ കഴിയും. ഇനിപ്പറയുന്ന കമാൻഡ് രണ്ട് സെക്കൻഡ് ഇടവേളകളിൽ 10 റിപ്പോർട്ടുകൾ പ്രദർശിപ്പിക്കും. പകരമായി, പിന്നീടുള്ള വിശകലനത്തിനായി നിങ്ങൾക്ക് റിപ്പോർട്ട് ഒരു ഫയലിലേക്ക് സംരക്ഷിക്കാൻ കഴിയും:

# iostat -d 2 10
OR
# iostat -d 2 10 > disk_io_report.txt &

റിപ്പോർട്ട് കോളങ്ങളെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, iostat മാൻ പേജ് വായിക്കുക:

# man iostat

2. sar - Linux സിസ്റ്റം പ്രവർത്തനം കാണിക്കുക

സിസ്റ്റം പ്രവർത്തന വിവരങ്ങൾ ശേഖരിക്കാനോ റിപ്പോർട്ടുചെയ്യാനോ സംരക്ഷിക്കാനോ ഉദ്ദേശിച്ചുള്ള sysstat പാക്കേജിനൊപ്പം അയയ്ക്കുന്ന മറ്റൊരു ഉപയോഗപ്രദമായ യൂട്ടിലിറ്റിയാണ് sar. നിങ്ങൾ ഇത് ഉപയോഗിക്കാൻ തുടങ്ങുന്നതിനുമുമ്പ്, നിങ്ങൾ അത് ഇനിപ്പറയുന്ന രീതിയിൽ സജ്ജീകരിക്കേണ്ടതുണ്ട്.

ആദ്യം, /etc/default/sysstat ഫയലിൽ ഡാറ്റ ശേഖരിക്കുന്നതിന് ഇത് പ്രവർത്തനക്ഷമമാക്കുക.

# vi /etc/default/sysstat

ഇനിപ്പറയുന്ന വരികൾക്കായി നോക്കി, കാണിച്ചിരിക്കുന്നതുപോലെ മൂല്യം ശരി എന്നതിലേക്ക് മാറ്റുക.

ENABLED="true"

അടുത്തതായി, സിസ്സ്റ്റാറ്റ് ക്രോൺ ജോലികളിൽ നിർവചിച്ചിരിക്കുന്ന ഡാറ്റ ശേഖരണ ഇടവേള നിങ്ങൾ കുറയ്ക്കേണ്ടതുണ്ട്. സ്ഥിരസ്ഥിതിയായി, ഇത് ഓരോ 10 മിനിറ്റിലും സജ്ജീകരിച്ചിരിക്കുന്നു, നിങ്ങൾക്ക് ഇത് ഓരോ 2 മിനിറ്റിലും കുറയ്ക്കാം.

നിങ്ങൾക്ക് ഇത് /etc/cron.d/sysstat ഫയലിൽ ചെയ്യാം:

# vi /etc/cron.d/sysstat

ഫയൽ സംരക്ഷിച്ച് അത് അടയ്ക്കുക.

അവസാനമായി, ഇനിപ്പറയുന്ന systemctl കമാൻഡ് ഉപയോഗിച്ച് sysstat സേവനം പ്രവർത്തനക്ഷമമാക്കി ആരംഭിക്കുക:

# systemctl enable --now sysstat.service
# systemctl enable sysstat.service

അടുത്തതായി, സാർ റിപ്പോർട്ടുകൾ കാണാൻ തുടങ്ങാൻ 2 മിനിറ്റ് കാത്തിരിക്കുക. I/O, ട്രാൻസ്ഫർ റേറ്റ് സ്ഥിതിവിവരക്കണക്കുകൾ എന്നിവ റിപ്പോർട്ടുചെയ്യുന്നതിന് sar കമാൻഡും -b കമാൻഡ് ലൈൻ ഓപ്ഷനും, കാണിച്ചിരിക്കുന്നതുപോലെ ഓരോ ബ്ലോക്ക് ഉപകരണത്തിന്റെയും പ്രവർത്തനം റിപ്പോർട്ടുചെയ്യുന്നതിന് -d ഉപയോഗിക്കുക.

# sar -d -b

3. iotop – Linux Disk I/O ഉപയോഗം നിരീക്ഷിക്കുക

iotop പോലെയുള്ള ഒരു ലളിതമായ യൂട്ടിലിറ്റിയാണ് ഡിസ്ക് I/O പ്രവർത്തനവും ഉപയോഗവും ഓരോ പ്രോസസ്സ് അടിസ്ഥാനത്തിൽ നിരീക്ഷിക്കാൻ നിങ്ങളെ പ്രാപ്തമാക്കുന്നത്.

നിങ്ങളുടെ ലിനക്സ് സെർവറിൽ ഇത് ഇനിപ്പറയുന്ന രീതിയിൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും (നിങ്ങളുടെ ലിനക്സ് വിതരണത്തിന് ഉചിതമായ കമാൻഡ് പ്രവർത്തിപ്പിക്കാൻ ഓർമ്മിക്കുക):

$ sudo apt install iotop             [On Debian, Ubuntu and Mint]
$ sudo yum install iotop             [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-processs/iotop  [On Gentoo Linux]
$ sudo apk add iotop                 [On Alpine Linux]
$ sudo pacman -S iotop               [On Arch Linux]
$ sudo zypper install iotop          [On OpenSUSE]    

ഓരോ-പ്രോസസ്സ് I/O ആക്റ്റിവിറ്റിയും നിരീക്ഷിക്കുന്നതിന്, ഇനിപ്പറയുന്ന രീതിയിൽ ആർഗ്യുമെന്റുകളൊന്നും കൂടാതെ നിങ്ങൾക്ക് iotop പ്രവർത്തിപ്പിക്കാൻ കഴിയും. സ്ഥിരസ്ഥിതിയായി, ആവർത്തനങ്ങൾക്കിടയിലുള്ള കാലതാമസം 1 സെക്കൻഡാണ്. -d ഫ്ലാഗ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് മാറ്റാവുന്നതാണ്.

# iotop
OR
# iotop -d 2

iotop സ്ഥിരസ്ഥിതിയായി ഒരു പ്രക്രിയയുടെ എല്ലാ ത്രെഡുകളും പ്രദർശിപ്പിക്കും. പ്രക്രിയകൾ മാത്രം കാണിക്കുന്ന തരത്തിൽ ഈ സ്വഭാവം മാറ്റുന്നതിന്, -P കമാൻഡ് ലൈൻ ഓപ്ഷൻ ഉപയോഗിക്കുക.

# iotop -P

കൂടാതെ, -a ഓപ്ഷൻ ഉപയോഗിച്ച്, ബാൻഡ്വിഡ്ത്ത് കാണിക്കുന്നതിന് വിരുദ്ധമായി ശേഖരിക്കപ്പെട്ട I/O പ്രദർശിപ്പിക്കാൻ നിങ്ങൾക്ക് നിർദ്ദേശം നൽകാം. ഈ മോഡിൽ, iotop അഭ്യർത്ഥിച്ചതിനുശേഷം നടത്തിയ I/O പ്രക്രിയകളുടെ അളവ് iotop കാണിക്കുന്നു.

# iotop -P -a

ഞങ്ങൾക്ക് നിങ്ങൾക്കായി ഉണ്ടായിരുന്നത് അത്രമാത്രം! ഈ ഗൈഡിനെക്കുറിച്ചോ മുകളിലുള്ള ടൂളുകളെക്കുറിച്ചോ നിങ്ങളുടെ ചിന്തകൾ അറിയാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. ചുവടെയുള്ള ഫീഡ്ബാക്ക് ഫോം വഴി ഒരു അഭിപ്രായം ഇടുക.

ഈ ലിസ്റ്റിൽ നഷ്ടമായെന്ന് നിങ്ങൾ കരുതുന്ന, എന്നാൽ ഇവിടെ ദൃശ്യമാകാൻ അർഹതയുള്ള ടൂളുകളെക്കുറിച്ചും ഞങ്ങളെ അറിയിക്കാം.