این سری آموزش ما برای دستورات و مانیتور کارایی در لینوکس است. دستورات lostat و vmstat در بیشتر سیستم عامل های شبیه یونیکس (Linux/Unix/FreeBSD/Solaris) موجود هستند.
اگر دستورات vmstat و iostat در سیستم تان موجود نیستند، لطفا پکیج syssstat را نصب کنید. دستورات vmstat,sar,iostat پکیج هایی هستند که در sysstat موجودند (ابزار مانیتور سیستم). Iostat گزارش های cpu آمار تمام دیوایس ها را تولید می کند. شما می توانید sysstat را از طریق سورس tarball اش دانلود و نصب کنید، اما پیشنهاد ما به شما نصب از طریق دستور yum است.
نصب sysstat در لینوکس
1. لیست کردن حافظه active و inactive
در مثال پایین، 6 تا ستون موجود است. بیشتر ستون ها در صفحه man vmstat با جزئیات توضیح داده شده اند. مهمترین فیلد ها ستون free در زیر حافظه و ستون si,so در زیر swap هستند.
Free : مقدار فضای حافظه آزاد یا بیکار
Si : مقداری که در هر ثانیه از دیسک swap می شود به کیلو بایت
So : مقداری که در هر ثانیه از دیسک swap out می شود به کیلو بایت
نکته : اگر شما vmstat را بدون پارامتر اجرا کنید، اون موقع گزارش خلاصه ای را از boot سیستم نمایش خواهد داد.
2. اجرای vmstat به مدت زمان X ثانیه و(N بار)
با این دستور، vmstat هر 2 ثانیه یک بار اجرا می شود و بعد از 6 بار اجرا به صورت اتوماتیک استاپ می شود.
3. Vmstat به همراه timestamp
دستور vmstat با پارامتر -t تایم استمپ (timestamps) را در هر خطی که پرینت می شود به شکل زیر نمایش می دهد.
4. آمار counterهای مختلف
دستور vmstat به همراه -s خلاصه ای از تعداد رویداد های مختلف و آمار های حافظه را نمایش می دهد.
5. آمارهای دیسک ها
Vmstat به همراه آپشن -d تمام آمارهای دیسک ها را نمایش می دهد.
6. نمایش آمارها به صورت مگابایت (Megabytes)
برای این کار از پارامترهای -S و M استفاده می کنیم. به صورت پیش فرض vmstat آمار ها را به کیلو بایت نمایش می دهد.
7. نمایش آمار های cpuو ورودی/خروجی
دستور iostat بدونآپشن های مربوط به cpu و I/O تمام پارتیشن ها را به صورت زیر نمایش می دهد.
8. فقط نمایش آمارهای cpu
دستور iostat با آپشن -c فقط آمارهای cpu را به شکل زیر نمایش می دهد.
9 .فقط نمایش آمارهای I/O دیسک ها
دستور iostat با آپشن -d فقط آمارهای I/O دیسک ها را به صورت زیر نمایش می دهد.
10.نمایش آمارهای I/O فقط از یک دیوایس
به صورت پیش فرض آمارهای تمام پارتیشن ها را نمایش می دهد، با -p و نام دیوایس فقط آمارهای I/O دیسک ها را فقط برای یک دیوایس خاص مثل زیر نمایش می دهد.
11.نمایش آمارهای lvm
با پارامتر -N فقط آمارهای lvm را به صورت زیر نمایش می دهد.
12.ورژن iostat
با پارامتر -V می توانیم ورژن iostat را ببینیم.
نکته : vmstat و iostat شامل تعدادی از ستون ها و flag ها میباشد که شاید نشود به صورت خلاصه توضیح داد. اگر اطلاعات بیشتری می خواهید به صفحه man دستورات vmstat و iostat مراجعه کنید.
همچنین توصیه میشود مطالعه کنید :
دستورات top در linux به همراه 12 مثال عملی
نحوه نصب atop برای مانیتور کردن فعالیت های لاگین و پروسس های سیستم لینوکس
دستور قدرتمند htop در لینوکس برای مانیتور کردن منابع (به زودی)
دستور Glances برای مانیتورینگ Real Time پیشرفته در لینوکس
دستور nmon در لینوکس برای مانیتور کردن ram ،cpu ،disk ،network ،nfs ،file system ،kernel
نحوه نصب Iotop در RHEL - CentOS و Fedora برای مانیتور کردن I/O هارد دیسک
ابزار iftop (مانیتورینگ پهنای باند) در سیستم های RHEL / CentOS / Fedora
Web VMStat ابزار مانیتورینگ لحظه ای HDD/CUP/Memory و Process ها در لینوکس
ابزار nload برای مانیتور میزان استفاده پهنای باند شبکه به صورت لحظه ای در لینوکس
منتظر نظرات و پیشنهاد های شما هستیم .
اگر دستورات vmstat و iostat در سیستم تان موجود نیستند، لطفا پکیج syssstat را نصب کنید. دستورات vmstat,sar,iostat پکیج هایی هستند که در sysstat موجودند (ابزار مانیتور سیستم). Iostat گزارش های cpu آمار تمام دیوایس ها را تولید می کند. شما می توانید sysstat را از طریق سورس tarball اش دانلود و نصب کنید، اما پیشنهاد ما به شما نصب از طریق دستور yum است.
نصب sysstat در لینوکس
کد:
# yum -y install sysstat
- vmstat : اطلاعات مختصری از حافظه، پروسس ها، paging و ...
- Iostat : آمار cpu و آمار ورودی و خروجی برای دیوایس ها و پارتیشن ها
1. لیست کردن حافظه active و inactive
در مثال پایین، 6 تا ستون موجود است. بیشتر ستون ها در صفحه man vmstat با جزئیات توضیح داده شده اند. مهمترین فیلد ها ستون free در زیر حافظه و ستون si,so در زیر swap هستند.
کد:
[root@tecmint ~]# vmstat -a procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free inact active si so bi bo in cs us sy id wa st 1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
Si : مقداری که در هر ثانیه از دیسک swap می شود به کیلو بایت
So : مقداری که در هر ثانیه از دیسک swap out می شود به کیلو بایت
نکته : اگر شما vmstat را بدون پارامتر اجرا کنید، اون موقع گزارش خلاصه ای را از boot سیستم نمایش خواهد داد.
2. اجرای vmstat به مدت زمان X ثانیه و(N بار)
با این دستور، vmstat هر 2 ثانیه یک بار اجرا می شود و بعد از 6 بار اجرا به صورت اتوماتیک استاپ می شود.
کد:
[root@tecmint ~]# vmstat 2 6 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 810420 22064 101368 0 0 56 3 50 57 0 3 95 2 0 0 0 0 810412 22064 101368 0 0 0 0 16 35 0 0 100 0 0 0 0 0 810412 22064 101368 0 0 0 0 14 35 0 0 100 0 0 0 0 0 810412 22064 101368 0 0 0 0 17 38 0 0 100 0 0 0 0 0 810412 22064 101368 0 0 0 0 17 35 0 0 100 0 0 0 0 0 810412 22064 101368 0 0 0 0 18 36 0 1 100 0 0
3. Vmstat به همراه timestamp
دستور vmstat با پارامتر -t تایم استمپ (timestamps) را در هر خطی که پرینت می شود به شکل زیر نمایش می دهد.
کد:
[tecmint@tecmint ~]$ vmstat -t 1 5 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp--- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 632028 24992 192244 0 0 70 5 55 78 1 3 95 1 0 2012-09-02 14:57:18 IST 1 0 0 632028 24992 192244 0 0 0 0 171 514 1 5 94 0 0 2012-09-02 14:57:19 IST 1 0 0 631904 24992 192244 0 0 0 0 195 600 0 5 95 0 0 2012-09-02 14:57:20 IST 0 0 0 631780 24992 192244 0 0 0 0 156 524 0 5 95 0 0 2012-09-02 14:57:21 IST 1 0 0 631656 24992 192244 0 0 0 0 189 592 0 5 95 0 0 2012-09-02 14:57:22 IST
4. آمار counterهای مختلف
دستور vmstat به همراه -s خلاصه ای از تعداد رویداد های مختلف و آمار های حافظه را نمایش می دهد.
کد:
[tecmint@tecmint ~]$ vmstat -s 1030800 total memory 524656 used memory 277784 active memory 185920 inactive memory 506144 free memory 26864 buffer memory 310104 swap cache 2064376 total swap 0 used swap 2064376 free swap 4539 non-nice user cpu ticks 0 nice user cpu ticks 11569 system cpu ticks 329608 idle cpu ticks 5012 IO-wait cpu ticks 79 IRQ cpu ticks 74 softirq cpu ticks 0 stolen cpu ticks 336038 pages paged in 67945 pages paged out 0 pages swapped in 0 pages swapped out 258526 interrupts 392439 CPU context switches 1346574857 boot time 2309 forks
5. آمارهای دیسک ها
Vmstat به همراه آپشن -d تمام آمارهای دیسک ها را نمایش می دهد.
کد:
[tecmint@tecmint ~]$ vmstat -d disk- ------------reads------------ ------------writes----------- -----IO------ total merged sectors ms total merged sectors ms cur sec ram0 0 0 0 0 0 0 0 0 0 0 ram1 0 0 0 0 0 0 0 0 0 0 ram2 0 0 0 0 0 0 0 0 0 0 ram3 0 0 0 0 0 0 0 0 0 0 ram4 0 0 0 0 0 0 0 0 0 0 ram5 0 0 0 0 0 0 0 0 0 0 ram6 0 0 0 0 0 0 0 0 0 0 ram7 0 0 0 0 0 0 0 0 0 0 ram8 0 0 0 0 0 0 0 0 0 0 ram9 0 0 0 0 0 0 0 0 0 0 ram10 0 0 0 0 0 0 0 0 0 0 ram11 0 0 0 0 0 0 0 0 0 0 ram12 0 0 0 0 0 0 0 0 0 0 ram13 0 0 0 0 0 0 0 0 0 0 ram14 0 0 0 0 0 0 0 0 0 0 ram15 0 0 0 0 0 0 0 0 0 0 loop0 0 0 0 0 0 0 0 0 0 0 loop1 0 0 0 0 0 0 0 0 0 0 loop2 0 0 0 0 0 0 0 0 0 0 loop3 0 0 0 0 0 0 0 0 0 0 loop4 0 0 0 0 0 0 0 0 0 0 loop5 0 0 0 0 0 0 0 0 0 0 loop6 0 0 0 0 0 0 0 0 0 0 loop7 0 0 0 0 0 0 0 0 0 0 sr0 0 0 0 0 0 0 0 0 0 0 sda 7712 5145 668732 409619 3282 28884 257402 644566 0 126 dm-0 11578 0 659242 1113017 32163 0 257384 8460026 0 126 dm-1 324 0 2592 3845 0 0 0 0 0 2
6. نمایش آمارها به صورت مگابایت (Megabytes)
برای این کار از پارامترهای -S و M استفاده می کنیم. به صورت پیش فرض vmstat آمار ها را به کیلو بایت نمایش می دهد.
کد:
[root@tecmint ~]# vmstat -S M 1 5 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 346 53 476 0 0 95 8 42 55 0 2 96 2 0 0 0 0 346 53 476 0 0 0 0 12 15 0 0 100 0 0 0 0 0 346 53 476 0 0 0 0 32 62 0 0 100 0 0 0 0 0 346 53 476 0 0 0 0 15 13 0 0 100 0 0 0 0 0 346 53 476 0 0 0 0 34 61 0 1 99 0 0
7. نمایش آمار های cpuو ورودی/خروجی
دستور iostat بدونآپشن های مربوط به cpu و I/O تمام پارتیشن ها را به صورت زیر نمایش می دهد.
کد:
[root@tecmint ~]# iostat Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.12 0.01 1.54 2.08 0.00 96.24 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 3.59 161.02 13.48 1086002 90882 dm-0 5.76 159.71 13.47 1077154 90864 dm-1 0.05 0.38 0.00 2576 0
8. فقط نمایش آمارهای cpu
دستور iostat با آپشن -c فقط آمارهای cpu را به شکل زیر نمایش می دهد.
کد:
[root@tecmint ~]# iostat -c Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.12 0.01 1.47 1.98 0.00 96.42
9 .فقط نمایش آمارهای I/O دیسک ها
دستور iostat با آپشن -d فقط آمارهای I/O دیسک ها را به صورت زیر نمایش می دهد.
کد:
[root@tecmint ~]# iostat -d Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU) Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 3.35 149.81 12.66 1086002 91746 dm-0 5.37 148.59 12.65 1077154 91728 dm-1 0.04 0.36 0.00 2576 0
10.نمایش آمارهای I/O فقط از یک دیوایس
به صورت پیش فرض آمارهای تمام پارتیشن ها را نمایش می دهد، با -p و نام دیوایس فقط آمارهای I/O دیسک ها را فقط برای یک دیوایس خاص مثل زیر نمایش می دهد.
کد:
[B][root@tecmint ~]# iostat -p sda[/B] Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.11 0.01 1.44 1.92 0.00 96.52 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 3.32 148.52 12.55 1086002 91770 sda1 0.07 0.56 0.00 4120 18 sda2 3.22 147.79 12.55 1080650 91752
11.نمایش آمارهای lvm
با پارامتر -N فقط آمارهای lvm را به صورت زیر نمایش می دهد.
کد:
[root@tecmint ~]# iostat -N Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.11 0.01 1.39 1.85 0.00 96.64 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 3.20 142.84 12.16 1086002 92466 vg_tecmint-lv_root 5.13 141.68 12.16 1077154 92448 vg_tecmint-lv_swap 0.04 0.34 0.00 2576 0
12.ورژن iostat
با پارامتر -V می توانیم ورژن iostat را ببینیم.
کد:
[root@tecmint ~]# iostat -V sysstat version 9.0.4 (C) Sebastien Godard (sysstat orange.fr)
نکته : vmstat و iostat شامل تعدادی از ستون ها و flag ها میباشد که شاید نشود به صورت خلاصه توضیح داد. اگر اطلاعات بیشتری می خواهید به صفحه man دستورات vmstat و iostat مراجعه کنید.
همچنین توصیه میشود مطالعه کنید :
دستورات top در linux به همراه 12 مثال عملی
نحوه نصب atop برای مانیتور کردن فعالیت های لاگین و پروسس های سیستم لینوکس
دستور قدرتمند htop در لینوکس برای مانیتور کردن منابع (به زودی)
دستور Glances برای مانیتورینگ Real Time پیشرفته در لینوکس
دستور nmon در لینوکس برای مانیتور کردن ram ،cpu ،disk ،network ،nfs ،file system ،kernel
نحوه نصب Iotop در RHEL - CentOS و Fedora برای مانیتور کردن I/O هارد دیسک
ابزار iftop (مانیتورینگ پهنای باند) در سیستم های RHEL / CentOS / Fedora
Web VMStat ابزار مانیتورینگ لحظه ای HDD/CUP/Memory و Process ها در لینوکس
ابزار nload برای مانیتور میزان استفاده پهنای باند شبکه به صورت لحظه ای در لینوکس
منتظر نظرات و پیشنهاد های شما هستیم .