این سری آموزش ما برای دستورات و مانیتور کارایی در لینوکس است. دستورات 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 برای مانیتور میزان استفاده پهنای باند شبکه به صورت لحظه ای در لینوکس
منتظر نظرات و پیشنهاد های شما هستیم .