नॉलेजबेस · सर्वर डेडिकेटेड और VPS

सर्वर संसाधनों की निगरानी के लिए sar का उपयोग कैसे करें (linux)

अंतिम अपडेट 2025-06-16

SAR के 10 उपयोग


1. सभी CPU का CPU उपयोग (sar -u)

यह सभी CPU का संचयी रीयल-टाइम CPU उपयोग दिखाता है। “1 3″ हर 1 सेकंड पर कुल 3 बार रिपोर्ट देता है। CPU लोड देखने के लिए आप संभवतः अंतिम फ़ील्ड “%idle” पर ध्यान देना चाहेंगे।

$ sar -u 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:27:32 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:27:33 PM       all      0.00      0.00      0.00      0.00      0.00    100.00
01:27:34 PM       all      0.25      0.00      0.25      0.00      0.00     99.50
01:27:35 PM       all      0.75      0.00      0.25      0.00      0.00     99.00
Average:          all      0.33      0.00      0.17      0.00      0.00     99.50


कुछ अन्य रूप इस प्रकार हैं:

  • sar -u उस समय तक एकत्र किया गया वर्तमान दिन का CPU उपयोग दिखाता है।
  • sar -u 1 3 हर 1 सेकंड पर 3 बार रीयल-टाइम CPU उपयोग दिखाता है।
  • sar -u ALL “sar -u” के समान, लेकिन अतिरिक्त फ़ील्ड दिखाता है।
  • sar -u ALL 1 3 “sar -u 1 3″ के समान, लेकिन अतिरिक्त फ़ील्ड दिखाता है।
  • sar -u -f /var/log/sa/sa10 sa10 फ़ाइल से महीने के 10वें दिन का CPU उपयोग दिखाता है।


2. अलग-अलग CPU या कोर का CPU उपयोग (sar -P)

यदि आपके सर्वर में 4 कोर हैं और आप देखना चाहते हैं कि हर कोर क्या कर रहा है, तो निम्नलिखित करें।

“-P ALL” दर्शाता है कि यह सभी अलग-अलग कोर के आंकड़े दिखाए।

निम्नलिखित उदाहरण में “CPU” कॉलम के अंतर्गत 0, 1, 2 और 3 संख्याएँ संबंधित CPU कोर नंबर दर्शाती हैं।

$ sar -P ALL 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:34:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:34:13 PM       all     11.69      0.00      4.71      0.69      0.00     82.90
01:34:13 PM         0     35.00      0.00      6.00      0.00      0.00     59.00
01:34:13 PM         1     22.00      0.00      5.00      0.00      0.00     73.00
01:34:13 PM         2      3.00      0.00      1.00      0.00      0.00     96.00
01:34:13 PM         3      0.00      0.00      0.00      0.00      0.00    100.00


“-P 1″ indicates that it should display statistics only for the 2nd Core. (Note that Core numbers start at 0).


$ sar -P 1 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:36:25 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:36:26 PM         1      8.08      0.00      2.02      1.01      0.00     88.89


कुछ अन्य रूप इस प्रकार हैं:

  • sar -P ALL वर्तमान दिन का CPU उपयोग सभी कोर के अनुसार अलग-अलग दिखाता है।
  • sar -P ALL 1 3 हर 1 सेकंड पर 3 बार सभी कोर का रीयल-टाइम CPU उपयोग दिखाता है (सभी कोर के अनुसार अलग-अलग)।
  • sar -P 1 वर्तमान दिन के लिए कोर नंबर 1 का CPU उपयोग दिखाता है।
  • sar -P 1 1 3 कोर नंबर 1 के लिए रियल टाइम CPU उपयोग दिखाता है, हर 1 सेकंड में, कुल 3 बार।
  • sar -P ALL -f /var/log/sa/sa10 sa10 फ़ाइल से महीने की 10 तारीख के लिए सभी कोर के अनुसार विभाजित CPU उपयोग दिखाता है।


3. फ्री और उपयोग की गई मेमोरी (sar -r)

यह मेमोरी के आँकड़े दिखाता है। “1 3″ का अर्थ है हर 1 सेकंड में, कुल 3 बार रिपोर्ट करना। फ्री और उपयोग की गई मेमोरी के लिए आप संभवतः “kbmemfree” और “kbmemused” पर ध्यान देना चाहेंगे।

$ sar -r 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:28:06 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
07:28:07 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:08 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:09 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
Average:      6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204


कुछ अन्य रूप इस प्रकार हैं:

  • sar -r
  • sar -r 1 3
  • sar -r -f /var/log/sa/sa10


4. उपयोग किया गया स्वैप स्पेस (sar -S)

यह स्वैप के आँकड़े दिखाता है। “1 3″ का अर्थ है हर 1 सेकंड में, कुल 3 बार रिपोर्ट करना। यदि “kbswpused” और “%swpused” 0 हैं, तो आपका सिस्टम स्वैपिंग नहीं कर रहा है।

$ sar -S 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:31:06 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
07:31:07 AM   8385920         0      0.00         0      0.00
07:31:08 AM   8385920         0      0.00         0      0.00
07:31:09 AM   8385920         0      0.00         0      0.00
Average:      8385920         0      0.00         0      0.00


कुछ अन्य रूप इस प्रकार हैं:

  • sar -S
  • sar -S 1 3
  • sar -S -f /var/log/sa/sa10


ध्यान दें:

  • सिस्टम द्वारा प्रति सेकंड फ्री किए गए, उपयोग किए गए और कैश किए गए मेमोरी पेजों की संख्या जानने के लिए “sar -R” का उपयोग करें।
  • उपयोग में और उपलब्ध hugepages (KB में) जानने के लिए “sar -H” का उपयोग करें।
  • पेजिंग के आँकड़े प्राप्त करने के लिए “sar -B” का उपयोग करें, यानी डिस्क से प्रति सेकंड पेज इन (और आउट) किए गए KB की संख्या।
  • पेज स्वैप के आँकड़े प्राप्त करने के लिए “sar -W” का उपयोग करें, यानी प्रति सेकंड पेज स्वैप इन (और आउट)।


5. कुल I/O गतिविधि (sar -b)

यह I/O के आँकड़े दिखाता है। “1 3″ का अर्थ है हर 1 सेकंड में, कुल 3 बार रिपोर्ट करना।

नीचे दिए गए उदाहरण में ये फ़ील्ड दिखाई गई हैं।

  • tps – प्रति सेकंड ट्रांजैक्शन (इसमें रीड और राइट दोनों शामिल हैं)
  • rtps – प्रति सेकंड रीड ट्रांजैक्शन
  • wtps – प्रति सेकंड राइट ट्रांजैक्शन
  • bread/s – प्रति सेकंड पढ़े गए बाइट
  • bwrtn/s – प्रति सेकंड लिखे गए बाइट

$ sar -b 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:56:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:56:29 PM    346.00    264.00     82.00   2208.00    768.00
01:56:30 PM    100.00     36.00     64.00    304.00    816.00
01:56:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

 

कुछ अन्य रूप इस प्रकार हैं:

  • sar -b
  • sar -b 1 3
  • sar -b -f /var/log/sa/sa10

नोट: सिस्टम द्वारा उपयोग किए जा रहे inode हैंडलर, फ़ाइल हैंडलर और स्यूडो-टर्मिनल की संख्या देखने के लिए “sar -v” का उपयोग करें।



6. अलग-अलग ब्लॉक डिवाइस की I/O गतिविधि (sar -d)

अलग-अलग ब्लॉक डिवाइस (यानी कोई विशेष माउंट पॉइंट, LUN या पार्टीशन) की गतिविधियाँ जानने के लिए “sar -d” का उपयोग करें

$ sar -d 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM    dev8-0      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM    dev8-1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM dev120-64      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM dev120-65      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM  dev120-0      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM  dev120-1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM dev120-96      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM dev120-97      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91


ऊपर दिए गए उदाहरण में “DEV” किसी विशेष ब्लॉक डिवाइस को दर्शाता है।


उदाहरण के लिए: “dev53-1″ का अर्थ है ऐसा ब्लॉक डिवाइस जिसका मेजर नंबर 53 और माइनर नंबर 1 है।

यदि आप नीचे दिखाए अनुसार -p विकल्प (pretty print) का उपयोग करते हैं, तो डिवाइस नाम (DEV कॉलम) में डिवाइस का वास्तविक नाम (जैसे: sda, sda1, sdb1 आदि) दिखाई दे सकता है।

$ sar -p -d 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM       sda      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sda1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sdb1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sdc1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sde1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sdf1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sda2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM      sdb2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91

 

कुछ अन्य प्रकार इस प्रकार हैं:

  • sar -d
  • sar -d 1 3
  • sar -d -f /var/log/sa/sa10
  • sar -p -d


7. प्रति सेकंड कॉन्टेक्स्ट स्विच दिखाएं (sar -w)

यह प्रति सेकंड बनाए गए प्रोसेस की कुल संख्या और प्रति सेकंड कॉन्टेक्स्ट स्विच की कुल संख्या दिखाता है। “1 3″ हर 1 सेकंड के अंतराल पर कुल 3 बार रिपोर्ट देता है।

$ sar -w 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

08:32:24 AM    proc/s   cswch/s
08:32:25 AM      3.00     53.00
08:32:26 AM      4.00     61.39
08:32:27 AM      2.00     57.00

 

कुछ अन्य रूप इस प्रकार हैं:

  • sar -w
  • sar -w 1 3
  • sar -w -f /var/log/sa/sa10


8. रनिंग क्यू और लोड एवरेज की रिपोर्ट देखें (sar -q)

यह पिछले 1 मिनट, 5 मिनट और 15 मिनट के लिए रन क्यू का आकार और लोड एवरेज दिखाता है। “1 3″ हर 1 सेकंड के अंतराल पर कुल 3 बार रिपोर्ट देता है।

$ sar -q 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

06:28:53 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
06:28:54 AM         0       230      2.00      3.00      5.00         0
06:28:55 AM         2       210      2.01      3.15      5.15         0
06:28:56 AM         2       230      2.12      3.12      5.12         0
Average:            3       230      3.12      3.12      5.12         0

नोट: “blocked” कॉलम उन टास्क की संख्या दिखाता है जो फिलहाल ब्लॉक हैं और I/O ऑपरेशन पूरा होने की प्रतीक्षा कर रहे हैं।

कुछ अन्य रूप इस प्रकार हैं:

  • sar -q
  • sar -q 1 3
  • sar -q -f /var/log/sa/sa10


9. नेटवर्क आंकड़ों की रिपोर्ट देखें (sar -n)

यह नेटवर्क से जुड़े विभिन्न आंकड़े दिखाता है। उदाहरण के लिए: नेटवर्क कार्ड द्वारा प्राप्त (भेजे गए) पैकेट की संख्या, पैकेट फेल होने के आंकड़े आदि। “1 3″ हर 1 सेकंड के अंतराल पर कुल 3 बार रिपोर्ट देता है।

sar -n KEYWORD

 

कीवर्ड निम्नलिखित में से कोई एक हो सकता है:

  • DEV – eth0, eth1 आदि नेटवर्क डिवाइस के मुख्य आंकड़े दिखाता है
  • EDEV – नेटवर्क डिवाइस की विफलता के आंकड़े दिखाता है
  • NFS – NFS क्लाइंट की गतिविधियां दिखाता है
  • NFSD – NFS सर्वर की गतिविधियां दिखाता है
  • SOCK – IPv4 के लिए उपयोग में आ रहे सॉकेट दिखाता है
  • IP – IPv4 नेटवर्क ट्रैफिक दिखाता है
  • EIP – IPv4 नेटवर्क त्रुटियां दिखाता है
  • ICMP – ICMPv4 नेटवर्क ट्रैफिक दिखाता है
  • EICMP – ICMPv4 नेटवर्क त्रुटियां दिखाता है
  • TCP – TCPv4 नेटवर्क ट्रैफिक दिखाता है
  • ETCP – TCPv4 नेटवर्क त्रुटियां दिखाता है
  • UDP – UDPv4 नेटवर्क ट्रैफिक दिखाता है
  • SOCK6, IP6, EIP6, ICMP6, UDP6 IPv6 के लिए हैं
  • ALL – यह ऊपर दी गई सभी जानकारी दिखाता है। आउटपुट बहुत लंबा होगा।
$ sar -n DEV 1 1
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:11:13 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
01:11:14 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:11:14 PM      eth0    342.57    342.57  93923.76 141773.27      0.00      0.00      0.00
01:11:14 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

10. शुरुआती समय के अनुसार Sar डेटा देखें (sar -s)

When you view historical sar data from the /var/log/sa/saXX file using “sar -f” option, it displays all the sar data for that specific day starting from 12:00 a.m. for that day.

“-s hh:mi:ss” विकल्प का उपयोग करके आप शुरुआती समय निर्धारित कर सकते हैं। उदाहरण के लिए, यदि आप “sar -s 10:00:00″ देते हैं, तो यह नीचे दिखाए अनुसार आधी रात के बजाय सुबह 10 बजे से sar डेटा दिखाएगा।

आप -s विकल्प को sar के अन्य विकल्पों के साथ भी इस्तेमाल कर सकते हैं।

उदाहरण के लिए, इस महीने की 26 तारीख को सुबह 10 बजे से लोड एवरेज की रिपोर्ट देखने के लिए, नीचे दिखाए अनुसार -q और -s विकल्पों को एक साथ इस्तेमाल करें।

$ sar -q -f /var/log/sa/sa23 -s 10:00:01
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
...
11:20:01 AM         0       127      5.00      3.00      3.00         0
12:00:01 PM         0       127      4.00      2.00      1.00         0


अंतिम समय सीमित करने का कोई विकल्प नहीं है। इसके लिए आपको थोड़ा अलग तरीका अपनाना होगा और नीचे दिखाए अनुसार head कमांड का उपयोग करना होगा।


उदाहरण के लिए, सुबह 10 बजे से शुरू होकर यदि आप 7 एंट्री देखना चाहते हैं, तो आपको ऊपर के आउटपुट को “head -n 10″ के साथ पाइप करना होगा।

$ sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
10:30:01 AM         0       127      3.00      5.00      2.00         0
10:40:01 AM         0       127      4.00      2.00      1.00         2
10:50:01 AM         0       127      3.00      5.00      5.00         0
11:00:01 AM         0       127      2.00      1.00      6.00         0
11:10:01 AM         0       127      1.00      3.00      7.00         2


Linux परफॉर्मेंस मॉनिटरिंग और ट्यूनिंग में अभी बहुत कुछ बताना बाकी है। यह तो केवल शुरुआत है। परफॉर्मेंस श्रृंखला में और लेख जल्द आएंगे।


सभी ज्ञान आधारित लेख

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.