ലിനക്uസ് പെർഫോമൻസ് മോണിറ്ററിങ്ങിനായി സിസ്uസ്റ്റാറ്റ് യൂട്ടിലിറ്റികളുടെ (mpstat, pidstat, iostat, sar) ഉപയോഗപ്രദമായ 20 കമാൻഡുകൾ
ഞങ്ങളുടെ അവസാന ലേഖനത്തിൽ, sysstat പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനെക്കുറിച്ചും അപ്ഗ്രേഡ് ചെയ്യുന്നതിനെക്കുറിച്ചും പാക്കേജിനൊപ്പം വരുന്ന യൂട്ടിലിറ്റികളെക്കുറിച്ച് ചുരുക്കത്തിൽ മനസ്സിലാക്കുന്നതിനെക്കുറിച്ചും ഞങ്ങൾ പഠിച്ചു.
- Sysstat - Linux-നുള്ള പ്രകടനവും ഉപയോഗ പ്രവർത്തനവും നിരീക്ഷിക്കുന്നതിനുള്ള ഉപകരണം
ഇന്ന്, പ്രശ്നങ്ങൾ തിരിച്ചറിയാൻ ഞങ്ങളെ സഹായിക്കുന്ന mpstat, pidstat, iostat, sar യൂട്ടിലിറ്റികളുടെ രസകരമായ ചില പ്രായോഗിക ഉദാഹരണങ്ങളുമായി ഞങ്ങൾ പ്രവർത്തിക്കാൻ പോകുന്നു. ഈ യൂട്ടിലിറ്റികൾ ഉപയോഗിക്കുന്നതിന് ഞങ്ങൾക്ക് വ്യത്യസ്uത ഓപ്uഷനുകൾ ഉണ്ട്, ഞാൻ അർത്ഥമാക്കുന്നത് വ്യത്യസ്ത തരത്തിലുള്ള വർക്കുകൾക്കായി വ്യത്യസ്ത ഓപ്uഷനുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് സ്വമേധയാ കമാൻഡുകൾ ഫയർ ചെയ്യാം അല്ലെങ്കിൽ നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച് ഇഷ്ടാനുസൃതമാക്കിയ സ്uക്രിപ്റ്റുകൾ സൃഷ്uടിക്കാം. Sysadmins എപ്പോഴും അൽപ്പം മടിയന്മാരാണെന്ന് നിങ്ങൾക്കറിയാം, കൂടാതെ എല്ലായ്uപ്പോഴും ഏറ്റവും കുറഞ്ഞ പരിശ്രമത്തിലൂടെ കാര്യങ്ങൾ ചെയ്യാനുള്ള എളുപ്പവഴി കണ്ടെത്താൻ ശ്രമിക്കുകയും ചെയ്യുന്നു.
mpstat - പ്രോസസ്സർ സ്ഥിതിവിവരക്കണക്കുകൾ
1. ഒരു ഓപ്ഷനും ഇല്ലാതെ mpstat കമാൻഡ് ഉപയോഗിക്കുന്നത്, എല്ലാ CPU-കളുടെയും ആഗോള ശരാശരി പ്രവർത്തനങ്ങൾ പ്രദർശിപ്പിക്കും.
[email ~ $ mpstat Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 12:23:57 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 12:23:57 IST all 37.35 0.01 4.72 2.96 0.00 0.07 0.00 0.00 0.00 54.88
2. ‘-P’ (പ്രോസസർ നമ്പർ സൂചിപ്പിക്കുക), ‘എല്ലാം’ എന്ന ഓപ്uഷനോടുകൂടിയ mpstat ഉപയോഗിക്കുന്നത്, 0 മുതൽ ആരംഭിക്കുന്ന എല്ലാ സിപിയുകളെയും കുറിച്ചുള്ള സ്ഥിതിവിവരക്കണക്കുകൾ ഓരോന്നായി പ്രദർശിപ്പിക്കും. 0 ആദ്യത്തേത്.
[email ~ $ mpstat -P ALL Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 12:29:26 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 12:29:26 IST all 37.33 0.01 4.57 2.58 0.00 0.07 0.00 0.00 0.00 55.44 12:29:26 IST 0 37.90 0.01 4.96 2.62 0.00 0.03 0.00 0.00 0.00 54.48 12:29:26 IST 1 36.75 0.01 4.19 2.54 0.00 0.11 0.00 0.00 0.00 56.40
3. ഓരോ സിപിയുവിന്റെയും ശരാശരിയോടെ n സെക്കൻഡ് ഇടവേളയ്ക്ക് ശേഷം ആവർത്തനങ്ങളുടെ N സംഖ്യയുടെ സ്ഥിതിവിവരക്കണക്കുകൾ പ്രദർശിപ്പിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.
[email ~ $ mpstat -P ALL 2 5 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 12:36:21 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 12:36:23 IST all 53.38 0.00 2.26 0.00 0.00 0.00 0.00 0.00 0.00 44.36 12:36:23 IST 0 46.23 0.00 1.51 0.00 0.00 0.00 0.00 0.00 0.00 52.26 12:36:23 IST 1 60.80 0.00 3.02 0.00 0.00 0.00 0.00 0.00 0.00 36.18 12:36:23 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 12:36:25 IST all 34.18 0.00 2.30 0.00 0.00 0.00 0.00 0.00 0.00 63.52 12:36:25 IST 0 31.63 0.00 1.53 0.00 0.00 0.00 0.00 0.00 0.00 66.84 12:36:25 IST 1 36.73 0.00 2.55 0.00 0.00 0.00 0.00 0.00 0.00 60.71 12:36:25 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 12:36:27 IST all 33.42 0.00 5.06 0.25 0.00 0.25 0.00 0.00 0.00 61.01 12:36:27 IST 0 34.34 0.00 4.04 0.00 0.00 0.00 0.00 0.00 0.00 61.62 12:36:27 IST 1 32.82 0.00 6.15 0.51 0.00 0.00 0.00 0.00 0.00 60.51
4. 'I' എന്ന ഓപ്uഷൻ ഓരോ പ്രോസസറിനെക്കുറിച്ചും ഇന്ററപ്റ്റ് സ്ഥിതിവിവരക്കണക്കുകളുടെ ആകെ എണ്ണം പ്രിന്റ് ചെയ്യും.
[email ~ $ mpstat -I Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 12:39:56 IST CPU intr/s 12:39:56 IST all 651.04 12:39:56 IST CPU 0/s 1/s 6/s 8/s 9/s 12/s 16/s 17/s 20/s 21/s 22/s 23/s 45/s 46/s 47/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s 12:39:56 IST 0 76.27 1.73 0.00 0.00 0.42 0.33 0.00 0.06 11.46 0.00 0.00 0.01 7.62 1.87 0.05 0.33 182.26 0.00 0.33 3.03 0.00 22.66 0.16 5.14 0.00 0.00 0.00 0.00 0.00 0.00 12:39:56 IST 1 70.88 1.44 0.00 0.00 0.41 0.33 0.00 27.91 10.33 0.00 0.00 0.01 7.27 1.79 0.05 0.32 184.11 0.00 0.32 5.17 0.00 22.09 0.13 4.73 0.00 0.00 0.00 0.00 0.00 0.00 12:39:56 IST CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s 12:39:56 IST 0 0.00 116.49 0.05 0.27 7.33 0.00 1.22 10.44 0.13 37.47 12:39:56 IST 1 0.00 111.65 0.05 0.41 7.07 0.00 56.36 9.97 0.13 41.38
5. മുകളിലുള്ള എല്ലാ വിവരങ്ങളും ഒരു കമാൻഡിൽ നേടുക, അതായത് -u -I ALL -p ALL എന്നതിന് തുല്യമാണ്.
[email ~ $ mpstat -A Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 12:41:39 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 12:41:39 IST all 38.70 0.01 4.47 2.01 0.00 0.06 0.00 0.00 0.00 54.76 12:41:39 IST 0 39.15 0.01 4.82 2.05 0.00 0.02 0.00 0.00 0.00 53.95 12:41:39 IST 1 38.24 0.01 4.12 1.98 0.00 0.09 0.00 0.00 0.00 55.57 12:41:39 IST CPU intr/s 12:41:39 IST all 651.73 12:41:39 IST 0 173.16 12:41:39 IST 1 225.89 12:41:39 IST CPU 0/s 1/s 6/s 8/s 9/s 12/s 16/s 17/s 20/s 21/s 22/s 23/s 45/s 46/s 47/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s 12:41:39 IST 0 76.04 1.77 0.00 0.00 0.41 0.36 0.00 0.06 11.60 0.00 0.00 0.01 7.42 1.83 0.05 0.34 182.89 0.00 0.34 2.97 0.00 22.69 0.16 5.22 0.00 0.00 0.00 0.00 0.00 0.00 12:41:39 IST 1 70.70 1.48 0.00 0.00 0.40 0.36 0.00 27.47 10.46 0.00 0.00 0.01 7.08 1.75 0.05 0.32 184.83 0.00 0.32 5.10 0.00 22.19 0.13 4.91 0.00 0.00 0.00 0.00 0.00 0.00 12:41:39 IST CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s 12:41:39 IST 0 0.00 116.96 0.05 0.26 7.12 0.00 1.24 10.42 0.12 36.99 12:41:39 IST 1 0.00 112.25 0.05 0.40 6.88 0.00 55.05 9.93 0.13 41.20
pidstat - പ്രക്രിയയും കേർണൽ ത്രെഡുകളും സ്ഥിതിവിവരക്കണക്കുകൾ
ഇത് പ്രോസസ്സ് മോണിറ്ററിംഗിനും നിലവിലെ ത്രെഡുകൾക്കും ഉപയോഗിക്കുന്നു, അവ കൈകാര്യം ചെയ്യുന്നത് കേർണൽ ആണ്. ചൈൽഡ് പ്രോസസുകളെയും ത്രെഡുകളെയും കുറിച്ചുള്ള നിലയും pidstat പരിശോധിക്കാം.
# pidstat <OPTIONS> [INTERVAL] [COUNT]
6. ഒരു ആർഗ്യുമെന്റും ഇല്ലാതെ pidstat കമാൻഡ് ഉപയോഗിക്കുന്നത്, എല്ലാ സജീവ ടാസ്ക്കുകളും പ്രദർശിപ്പിക്കും.
[email ~ $ pidstat Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 12:47:24 IST UID PID %usr %system %guest %CPU CPU Command 12:47:24 IST 0 1 0.01 0.12 0.00 0.13 1 init 12:47:24 IST 0 3 0.00 0.01 0.00 0.01 0 ksoftirqd/0 12:47:24 IST 0 9 0.00 0.04 0.00 0.04 0 rcu_sched 12:47:24 IST 0 10 0.00 0.00 0.00 0.00 0 watchdog/0 12:47:24 IST 0 11 0.00 0.00 0.00 0.00 1 watchdog/1 12:47:24 IST 0 12 0.00 0.00 0.00 0.00 1 migration/1 12:47:24 IST 0 13 0.00 0.01 0.00 0.01 1 ksoftirqd/1 12:47:24 IST 0 23 0.00 0.00 0.00 0.00 0 kworker/u9:0 12:47:24 IST 0 29 0.00 0.61 0.00 0.61 0 kworker/0:1 12:47:24 IST 0 30 0.00 0.06 0.00 0.06 1 kworker/1:1 12:47:24 IST 0 224 0.00 0.01 0.00 0.01 1 jbd2/sda1-8 12:47:24 IST 0 360 0.00 0.00 0.00 0.00 1 upstart-udev-br 12:47:24 IST 0 365 0.01 0.00 0.00 0.01 0 systemd-udevd 12:47:24 IST 0 476 0.00 0.00 0.00 0.00 0 kworker/u9:1
7. സജീവവും അല്ലാത്തതുമായ എല്ലാ ടാസ്ക്കുകളും പ്രിന്റ് ചെയ്യുന്നതിന് ‘-p’ (പ്രോസസ്സ്) ഓപ്ഷൻ ഉപയോഗിക്കുക.
[email ~ $ pidstat -p ALL Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 12:51:55 IST UID PID %usr %system %guest %CPU CPU Command 12:51:55 IST 0 1 0.01 0.11 0.00 0.12 1 init 12:51:55 IST 0 2 0.00 0.00 0.00 0.00 0 kthreadd 12:51:55 IST 0 3 0.00 0.01 0.00 0.01 0 ksoftirqd/0 12:51:55 IST 0 5 0.00 0.00 0.00 0.00 0 kworker/0:0H 12:51:55 IST 0 7 0.00 0.00 0.00 0.00 0 migration/0 12:51:55 IST 0 8 0.00 0.00 0.00 0.00 0 rcu_bh 12:51:55 IST 0 9 0.00 0.04 0.00 0.04 1 rcu_sched 12:51:55 IST 0 10 0.00 0.00 0.00 0.00 0 watchdog/0 12:51:55 IST 0 11 0.00 0.00 0.00 0.00 1 watchdog/1 12:51:55 IST 0 12 0.00 0.00 0.00 0.00 1 migration/1 12:51:55 IST 0 13 0.00 0.01 0.00 0.01 1 ksoftirqd/1 12:51:55 IST 0 15 0.00 0.00 0.00 0.00 1 kworker/1:0H 12:51:55 IST 0 16 0.00 0.00 0.00 0.00 1 khelper 12:51:55 IST 0 17 0.00 0.00 0.00 0.00 0 kdevtmpfs 12:51:55 IST 0 18 0.00 0.00 0.00 0.00 0 netns 12:51:55 IST 0 19 0.00 0.00 0.00 0.00 0 writeback 12:51:55 IST 0 20 0.00 0.00 0.00 0.00 1 kintegrityd
8. '-d 2' ഓപ്uഷനുള്ള pidstat കമാൻഡ് ഉപയോഗിച്ച്, പുതുക്കിയ സ്ഥിതിവിവരക്കണക്കുകൾ ലഭിക്കുന്നതിന് നമുക്ക് I/O സ്ഥിതിവിവരക്കണക്കുകളും 2 എന്നത് സെക്കന്റുകൾക്കുള്ളിൽ ഇടവേളയും ലഭിക്കും. നിങ്ങളുടെ സിസ്റ്റം കനത്ത I/O-ക്ക് വിധേയമാകുകയും ഉയർന്ന വിഭവങ്ങൾ ഉപയോഗിക്കുന്ന പ്രക്രിയകളെ കുറിച്ച് നിങ്ങൾക്ക് സൂചനകൾ ലഭിക്കുകയും ചെയ്യുന്ന സാഹചര്യത്തിൽ ഈ ഓപ്ഷൻ ഉപയോഗപ്രദമാകും.
[email ~ $ pidstat -d 2 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 03:26:53 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command 03:26:55 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command 03:26:57 EDT 574 0.00 148.00 2.00 miniserv.pl 03:27:01 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command 03:27:03 EDT 1 0.00 8.00 2.00 init 03:27:03 EDT 450 0.00 2.00 0.00 rsyslogd 03:27:03 EDT 534 138.00 10.00 4.00 crond 03:27:03 EDT 25100 0.00 6.00 0.00 sendmail 03:27:03 EDT 30829 0.00 6.00 0.00 java
9. പ്രോസസ്സ് ഐഡി 4164-നെക്കുറിച്ചുള്ള എല്ലാ ത്രെഡുകളോടൊപ്പം cpu സ്ഥിതിവിവരക്കണക്കുകളും 2 സെക്കൻഡിന്റെ ഇടവേളയിൽ 3 തവണ അറിയാൻ '-t' ഓപ്ഷനുള്ള ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക (തിരഞ്ഞെടുത്ത പ്രോസസ്സിന്റെ സ്ഥിതിവിവരക്കണക്കുകൾ പ്രദർശിപ്പിക്കുക).
[email ~ $ pidstat -t -p 4164 2 3 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 01:09:06 IST UID TGID TID %usr %system %guest %CPU CPU Command 01:09:08 IST 1000 4164 - 22.00 1.00 0.00 23.00 1 firefox 01:09:08 IST 1000 - 4164 20.00 0.50 0.00 20.50 1 |__firefox 01:09:08 IST 1000 - 4171 0.00 0.00 0.00 0.00 0 |__Gecko_IOThread 01:09:08 IST 1000 - 4172 0.00 0.00 0.00 0.00 0 |__Socket 01:09:08 IST 1000 - 4173 0.00 0.00 0.00 0.00 0 |__JS 01:09:08 IST 1000 - 4174 0.00 0.00 0.00 0.00 0 |__JS 01:09:08 IST 1000 - 4175 0.00 0.00 0.00 0.00 0 |__Hang 01:09:08 IST 1000 - 4176 0.00 0.00 0.00 0.00 1 |__gdbus 01:09:08 IST 1000 - 4177 0.00 0.00 0.00 0.00 1 |__gmain
10. 2 സെക്കൻഡ് ഇടവേളയിൽ അവയുടെ ഉപയോഗത്തിൽ പതിവായി വ്യത്യാസം വരുത്തുന്ന പ്രക്രിയകളുടെ മെമ്മറി ഉപയോഗത്തെക്കുറിച്ച് അറിയാൻ ‘-rh’ ഓപ്ഷൻ ഉപയോഗിക്കുക.
[email ~ $ pidstat -rh 2 3 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) # Time UID PID minflt/s majflt/s VSZ RSS %MEM Command 1409816695 1000 3958 3378.22 0.00 707420 215972 5.32 cinnamon 1409816695 1000 4164 406.93 0.00 1252024 461404 11.36 firefox 1409816695 1000 6676 168.81 0.00 4436 984 0.02 pidstat # Time UID PID minflt/s majflt/s VSZ RSS %MEM Command 1409816697 0 1601 644.00 0.00 506728 316788 7.80 Xorg 1409816697 1000 3958 3412.00 0.00 707420 215972 5.32 cinnamon 1409816697 1000 4164 2667.00 0.00 1259576 471724 11.62 firefox 1409816697 1000 6676 172.50 0.00 4436 1020 0.03 pidstat # Time UID PID minflt/s majflt/s VSZ RSS %MEM Command 1409816699 0 1601 644.00 0.00 506728 316788 7.80 Xorg 1409816699 1000 3958 4094.00 0.00 710148 218700 5.39 cinnamon 1409816699 1000 4164 599.00 0.00 1261944 476664 11.74 firefox 1409816699 1000 6676 168.00 0.00 4436 1020 0.03 pidstat
11. VB സ്ട്രിംഗ് അടങ്ങുന്ന എല്ലാ പ്രക്രിയയും പ്രിന്റ് ചെയ്യാൻ, ത്രെഡുകളും കാണുന്നതിന് ‘-t’ ഓപ്ഷൻ ഉപയോഗിക്കുക.
[email ~ $ pidstat -G VB Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 01:09:06 IST UID PID %usr %system %guest %CPU CPU Command 01:09:08 IST 1000 1492 22.00 1.00 0.00 23.00 1 VBoxService 01:09:08 IST 1000 1902 4164 20.00 0.50 0.00 20.50 VBoxClient 01:09:08 IST 1000 1922 4171 0.00 0.00 0.00 0.00 VBoxClient
[email ~ $ pidstat -t -G VB Linux 2.6.32-431.el6.i686 (tecmint) 09/04/2014 _i686_ (2 CPU) 03:19:52 PM UID TGID TID %usr %system %guest %CPU CPU Command 03:19:52 PM 0 1479 - 0.01 0.12 0.00 0.13 1 VBoxService 03:19:52 PM 0 - 1482 0.00 0.00 0.00 0.00 0 |__timesync 03:19:52 PM 0 - 1483 0.01 0.06 0.00 0.06 0 |__vminfo 03:19:52 PM 0 - 1485 0.00 0.01 0.00 0.01 1 |__memballoon 03:19:52 PM 0 - 1486 0.00 0.01 0.00 0.01 1 |__vmstats 03:19:52 PM 0 - 1487 0.00 0.05 0.00 0.05 0 |__automount 03:19:52 PM 0 1913 - 0.00 0.00 0.00 0.00 0 VBoxClient 03:19:52 PM 0 - 1913 0.00 0.00 0.00 0.00 0 |__VBoxClient 03:19:52 PM 0 - 1942 0.00 0.00 0.00 0.00 0 |__SHCLIP 03:19:52 PM 0 1933 - 0.04 0.89 0.00 0.93 0 VBoxClient 03:19:52 PM 0 - 1936 0.04 0.89 0.00 0.93 1 |__X11-NOTIFY
12. തത്സമയ മുൻഗണന ലഭിക്കുന്നതിനും വിവരങ്ങൾ ഷെഡ്യൂൾ ചെയ്യുന്നതിനും ‘-R’ ഓപ്ഷൻ ഉപയോഗിക്കുക.
[email ~ $ pidstat -R Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 01:09:06 IST UID PID prio policy Command 01:09:08 IST 1000 3 99 FIFO migration/0 01:09:08 IST 1000 5 99 FIFO migration/0 01:09:08 IST 1000 6 99 FIFO watchdog/0
ഇവിടെ, Iostat യൂട്ടിലിറ്റിയെക്കുറിച്ച് ഞാൻ കവർ ചെയ്യാൻ പോകുന്നില്ല, കാരണം ഞങ്ങൾ അത് ഇതിനകം തന്നെ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. iostat സംബന്ധിച്ച എല്ലാ വിശദാംശങ്ങളും ലഭിക്കുന്നതിന് ദയവായി \Vmstat, Iostat എന്നിവയ്uക്കൊപ്പം Linux പ്രകടന നിരീക്ഷണം പരിശോധിക്കുക.
sar - സിസ്റ്റം പ്രവർത്തന റിപ്പോർട്ടർ
sar കമാൻഡ് ഉപയോഗിച്ച്, മുഴുവൻ സിസ്റ്റത്തിന്റെയും പ്രകടനത്തെക്കുറിച്ചുള്ള റിപ്പോർട്ടുകൾ നമുക്ക് ലഭിക്കും. ഇത് സിസ്റ്റം തടസ്സം കണ്ടെത്തുന്നതിനും ഈ ശല്യപ്പെടുത്തുന്ന പ്രകടന പ്രശ്നങ്ങൾക്കുള്ള പരിഹാരം കണ്ടെത്തുന്നതിനുള്ള സഹായം നൽകുന്നതിനും ഞങ്ങളെ സഹായിക്കും.
Linux Kernel ആന്തരികമായി ചില കൗണ്ടറുകൾ പരിപാലിക്കുന്നു, അത് എല്ലാ അഭ്യർത്ഥനകളും, അവയുടെ പൂർത്തീകരണ സമയം, I/O ബ്ലോക്കുകളുടെ എണ്ണം മുതലായവയുടെ ട്രാക്ക് സൂക്ഷിക്കുന്നു. ഈ എല്ലാ വിവരങ്ങളിൽ നിന്നും, തടസ്സമുള്ള പ്രദേശങ്ങളെക്കുറിച്ച് കണ്ടെത്താൻ ഈ അഭ്യർത്ഥനയുടെ നിരക്കുകളും അനുപാതവും സാർ കണക്കാക്കുന്നു.
സാറിന്റെ പ്രധാന കാര്യം, സമയമുണ്ടെങ്കിൽ അത് ഒരു കാലയളവിൽ എല്ലാ പ്രവർത്തനങ്ങളും റിപ്പോർട്ട് ചെയ്യുന്നു എന്നതാണ്. അതിനാൽ, സാർ ഉചിതമായ സമയത്ത് ഡാറ്റ ശേഖരിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക (ഉച്ചഭക്ഷണ സമയത്തോ വാരാന്ത്യത്തിലോ അല്ല. :)
13. സാറിനെ വിളിക്കാനുള്ള അടിസ്ഥാന കമാൻഡ് താഴെ കൊടുക്കുന്നു. ഇത് നിങ്ങളുടെ നിലവിലെ ഡയറക്uടറിയിൽ sarfile എന്ന പേരിൽ ഒരു ഫയൽ സൃഷ്ടിക്കും. ‘-u’ എന്ന ഓപ്uഷനുകൾ സിപിയു വിശദാംശങ്ങൾക്കുള്ളതാണ് കൂടാതെ 2 സെക്കൻഡ് ഇടവേളയിൽ 5 റിപ്പോർട്ടുകൾ ശേഖരിക്കും.
[email ~ $ sar -u -o sarfile 2 5 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 01:42:28 IST CPU %user %nice %system %iowait %steal %idle 01:42:30 IST all 36.52 0.00 3.02 0.00 0.00 60.45 01:42:32 IST all 43.32 0.00 5.04 0.00 0.00 51.64 01:42:34 IST all 56.46 0.00 4.05 0.00 0.00 39.49 01:42:36 IST all 44.44 0.00 3.79 0.00 0.00 51.77 01:42:38 IST all 50.75 0.00 3.75 0.00 0.00 45.50 Average: all 46.30 0.00 3.93 0.00 0.00 49.77
14. മുകളിലെ ഉദാഹരണത്തിൽ, ഞങ്ങൾ സാർ ഇന്ററാക്ടീവ് ആയി ഉപയോഗിച്ചു. സ്ക്രിപ്റ്റുകൾ /usr/local/lib/sa1, /usr/local/lib/sa2 (ഇൻസ്റ്റാളേഷൻ സമയത്ത് നിങ്ങൾ /usr/local പ്രിഫിക്uസായി ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ) എന്നിവ ഉപയോഗിച്ച് ക്രോൺ മുഖേന ഇത് ഇന്ററാക്ടീവ് ആയി അഭ്യർത്ഥിക്കുന്നതിനുള്ള ഒരു ഓപ്ഷനും ഞങ്ങൾക്കുണ്ട്.
- /usr/local/lib/sa1 എന്നത് ദിവസേനയുള്ള ബൈനറി ലോഗ് ഫയൽ സൃഷ്uടിക്കുന്ന ക്രോൺ ഷെഡ്യൂൾ ചെയ്യുന്നതിന് നമുക്ക് ഉപയോഗിക്കാനാകുന്ന ഒരു ഷെൽ സ്uക്രിപ്റ്റാണ്.
- /usr/local/lib/sa2 എന്നത് ബൈനറി ലോഗ് ഫയലിനെ മനുഷ്യർക്ക് വായിക്കാവുന്ന രൂപത്തിലേക്ക് മാറ്റുന്ന ഒരു ഷെൽ സ്uക്രിപ്റ്റാണ്.
ഇത് പരസ്പരവിരുദ്ധമാക്കുന്നതിന് ഇനിപ്പറയുന്ന ക്രോൺ എൻട്രികൾ ഉപയോഗിക്കുക:
# Run sa1 shell script every 10 minutes for collecting data */2 * * * * /usr/local/lib/sa/sa1 2 10 # Generate a daily report in human readable format at 23:53 53 23 * * * /usr/local/lib/sa/sa2 -A
ബാക്ക്-എൻഡിൽ sa1 സ്ക്രിപ്റ്റ് ഒരു പ്രത്യേക ഇടവേളയിൽ ഡാറ്റ ലഭ്യമാക്കുന്നതിനായി sadc (സിസ്റ്റം ആക്റ്റിവിറ്റി ഡാറ്റ കളക്ടർ) യൂട്ടിലിറ്റിയെ വിളിക്കും. ബൈനറി ലോഗ് ഫയൽ മനുഷ്യർക്ക് വായിക്കാൻ കഴിയുന്ന രൂപത്തിലേക്ക് മാറ്റുന്നതിന് sa2 സാറിനെ വിളിക്കും.
15. റൺ ക്യൂ ദൈർഘ്യം, പ്രോസസ്സുകളുടെ ആകെ എണ്ണം, '-q' ഓപ്ഷൻ ഉപയോഗിച്ച് ലോഡ് ശരാശരി എന്നിവ പരിശോധിക്കുക.
[email ~ $ sar -q 2 5 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 02:00:44 IST runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 02:00:46 IST 1 431 1.67 1.22 0.97 0 02:00:48 IST 4 431 1.70 1.23 0.97 0 02:00:50 IST 2 431 1.70 1.23 0.97 0 02:00:52 IST 2 431 1.70 1.23 0.97 0 02:00:54 IST 0 431 1.64 1.23 0.97 0 Average: 2 431 1.68 1.23 0.97 0
16. '-F' ഉപയോഗിച്ച് മൌണ്ട് ചെയ്ത ഫയൽ സിസ്റ്റങ്ങളെക്കുറിച്ചുള്ള സ്ഥിതിവിവരക്കണക്കുകൾ പരിശോധിക്കുക.
[email ~ $ sar -F 2 4 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 02:02:31 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM 02:02:33 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1 02:02:33 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM 02:02:35 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1 02:02:35 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM 02:02:37 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1 02:02:37 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM 02:02:39 IST 1001 449 30.95 1213790475088.86 18919505 364463 1.89 /dev/sda1 Summary MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM Summary 1001 449 30.95 1213790475088.86 18919505 364463 1.89 /dev/sda1
17. ‘-n DEV’ ഉപയോഗിച്ച് നെറ്റ്uവർക്ക് സ്ഥിതിവിവരക്കണക്കുകൾ കാണുക.
[email ~ $ sar -n DEV 1 3 | egrep -v lo Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 02:11:59 IST IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 02:12:00 IST wlan0 8.00 10.00 1.23 0.92 0.00 0.00 0.00 02:12:00 IST vmnet8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:12:00 IST eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:12:00 IST vmnet1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
18. '-d' ഉപയോഗിച്ച് iostat പോലുള്ള ബ്ലോക്ക് ഉപകരണ സ്ഥിതിവിവരക്കണക്കുകൾ കാണുക.
[email ~ $ sar -d 1 3 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 02:13:17 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 02:13:18 IST dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:13:18 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 02:13:19 IST dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:13:19 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 02:13:20 IST dev8-0 7.00 32.00 80.00 16.00 0.11 15.43 15.43 10.80
19. മെമ്മറി സ്റ്റാറ്റിസ്റ്റിക്സ് പ്രിന്റ് ചെയ്യാൻ ‘-r’ ഓപ്ഷൻ ഉപയോഗിക്കുക.
[email ~ $ sar -r 1 3 Linux 3.11.0-23-generic (linux-console.net) Thursday 04 September 2014 _i686_ (2 CPU) 02:14:29 IST kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 02:14:30 IST 1465660 2594840 63.90 133052 1549644 3710800 45.35 1133148 1359792 392 02:14:31 IST 1472724 2587776 63.73 133060 1549792 3715504 45.40 1125816 1360000 836 02:14:32 IST 1469112 2591388 63.82 133060 1550036 3705288 45.28 1130252 1360168 804 Average: 1469165 2591335 63.82 133057 1549824 3710531 45.34 1129739 1359987 677
20. ‘safd -d’ ഉപയോഗിച്ച്, ഡാറ്റാബേസുകൾ ഉപയോഗിച്ച് പ്രോസസ്സ് ചെയ്യാൻ കഴിയുന്ന ഫോർമാറ്റിൽ ഡാറ്റ എക്സ്ട്രാക്റ്റ് ചെയ്യാം.
[email ~ $ safd -d /var/log/sa/sa20140903 -- -n DEV | grep -v lo # hostname;interval;timestamp;IFACE;rxpck/s;txpck/s;rxkB/s;txkB/s;rxcmp/s;txcmp/s;rxmcst/s;%ifutil tecmint;2;2014-09-03 07:53:29 UTC;eth0;1.50;0.00;0.13;0.00;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 07:53:31 UTC;eth0;2.00;0.00;0.18;0.00;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 07:53:33 UTC;eth0;1.00;0.00;0.09;0.00;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 07:53:35 UTC;eth0;2.00;0.00;0.18;0.00;0.00;0.00;0.00;0.00 tecmint;14778;2014-09-03 11:59:54 UTC;eth0;1.78;1.17;1.10;0.18;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 11:59:56 UTC;eth0;3.50;3.00;0.60;0.77;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 11:59:58 UTC;eth0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 12:00:00 UTC;eth0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 12:00:02 UTC;eth0;0.50;0.50;0.48;0.03;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 12:00:04 UTC;eth0;2.50;3.50;0.21;2.05;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 12:00:06 UTC;eth0;1.49;1.00;0.62;0.06;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 12:00:08 UTC;eth0;0.50;0.00;0.03;0.00;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 12:00:10 UTC;eth0;0.50;0.50;0.03;0.04;0.00;0.00;0.00;0.00 tecmint;2;2014-09-03 12:00:12 UTC;eth0;1.00;0.50;0.12;0.04;0.00;0.00;0.00;0.00
നിങ്ങൾക്ക് ഇത് ഒരു csv-യിൽ സേവ് ചെയ്യാനും തുടർന്ന് താഴെ പറയുന്ന തരത്തിലുള്ള അവതരണ കാര്യങ്ങൾക്കായി ചാർട്ട് വരയ്ക്കാനും കഴിയും.
ഇപ്പോൾ അത്രയേയുള്ളൂ, ഓരോ ഓപ്uഷനെയും കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് നിങ്ങൾക്ക് മാൻ പേജുകൾ റഫർ ചെയ്യാം കൂടാതെ നിങ്ങളുടെ വിലയേറിയ അഭിപ്രായങ്ങൾക്കൊപ്പം ലേഖനത്തെക്കുറിച്ച് പറയാൻ മറക്കരുത്.