זהו סדרת ההמשך של Linux Commands ו-Linux Performance Monitoring שלנו, במאמר זה, תלמד על Vmstat ו-Iostat פקודות, שזמינות בכל המערכות הפעלה המרכזיות Unix-like (Linux/Unix/FreeBSD/Solaris).
vmstat פקודה (הידועה גם ככלי הסטטיסטיקה של זיכרון וירטואלי) מציגה מידע על תהליכים, זיכרון, דיסק ופעילות מעבד בלינוקס, ואילו פקודת iostat משמשת לניטור שימוש במעבד, סטטיסטיקות קלט/פלט מערכת עבור כל הדיסקים והחלקים.
אם הפקודות vmstat ו-iostat אינן זמינות במכשיר הלינוקס שלך, אנא התקן את החבילה sysstat. הפקודות vmstat, sar, ו-iostat הן אוסף של חבילה הכלולה ב-sysstat – כלי הניטור של המערכת.
אפשר להוריד ולהתקין sysstat באמצעות חבילת המקור מהקישור sysstat, אך אנו ממליצים על התקנה דרך מנהל החבילה.
להתקין 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 pacman -S sysstat [On Arch Linux] $ sudo zypper install sysstat [On OpenSUSE]

למד איך להשתמש בפקודת Vmstat בלינוקס
בקטע זה, תלמד על 6 דוגמאות לשימוש בפקודת vmstat ושימוש עם תצוגות מסך.
1. רשימת זיכרון פעיל ולא פעיל
בדוגמה שלהלן, יש שישה עמודות. החשיבות של העמודות מוסברת בדף העזר של vmstat בפירוט. השדות החשובים ביותר הם free תחת זיכרון ו-si, so תחת עמודת החילוץ.
[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
- Free – כמות השטחים בזיכרון חופשי/מופעל.
- si – מחולק כל שנייה מהכונן ב-KiloBytes.
- so – מחולק כל שנייה לכונן ב-KiloBytes.
הערה: אם תפעיל vmstat ללא פרמטרים זה יציג דוח סיכום מאז ההתחלה.
2. לבצע vmstat 'X' שניות ו-('מספר הפעמים)
עם הפקודה זו, vmstat מבוצעת כל שתי שניות ונעצרת אוטומטית אחרי שהפעלה שש מרווחים.
[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 עם תזכורות
vmstat פקודה עם -t
פרמטר מציג תזכורות עם כל שורה מודפסת כמו שמוצג למטה.
[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. סטטיסטיקות של מונה שונה
פקודת 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. הצגת סטטיסטיקות במגהבייט
פקודת vmstat מציגה סטטיסטיקות זיכרון בקילובייט כברירת מחדל, אך ניתן גם להציג דוחות עם גדלי זיכרון במגהבייט עם הארגומנט -S M
. שקול את הדוגמה הבאה.
[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
למד דוגמאות לפקודת iostat בלינוקס
בקטע זה תלמד על 6 דוגמאות לפקודת iostat והשימוש בהן עם צילומי מסך.
7. הצגת סטטיסטיקות מעבד ו-I/O של דיסקים
פקודת iostat ללא ארגומנטים מציגה את סטטיסטיקות ה-מעבד וה-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. הצגת סטטיסטיקות מעבד בלינוקס
פקודת iostat עם ארגומנטים -c
מציגה רק את סטטיסטיקות ה-מעבד כפי שמוצג למטה.
[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 של התקן ספציפי בלבד כפי שמוצג.
[root@tecmint ~]# iostat -p sda 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 11.7.3 (C) Sebastien Godard (sysstat orange.fr)
ה-vmstat וה-iostat מכילים מספר עמודות ודגלים שאולי לא ניתן להסביר בפירוט. אם ברצונך לדעת יותר על כך, תוכל לעיין בדף העזרה של vmstat ושל iostat.
# man vmstat # man iostat
אנא שתף אם מצאת מאמר זה מועיל באמצעות תיבת התגובות שלנו למטה.
Source:
https://www.tecmint.com/linux-performance-monitoring-with-vmstat-and-iostat-commands/