मैं डिस्क io की निगरानी कैसे कर सकता हूं?


267

मैं एक डेबियन लिनक्स सर्वर पर कुछ सामान्य डिस्क io मॉनिटरिंग करना चाहता हूं। उस मॉनीटर डिस्क io के बारे में मुझे क्या पता होना चाहिए, ताकि मैं देख सकूं कि क्या डिस्क का प्रदर्शन दिन भर में निश्चित समय पर अधिकतम हो जाता है या स्पाइक्स होता है?


जवाबों:


225

डिस्क I / O ट्रेंडिंग के लिए कुछ विकल्प हैं। मेरा व्यक्तिगत पसंदीदा sarकमांड है sysstat। डिफ़ॉल्ट रूप से, यह इस तरह से आउटपुट देता है:

09:25:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:35:01 AM     all      0.11      0.00      0.01      0.00      0.00     99.88
09:45:01 AM     all      0.12      0.00      0.01      0.00      0.00     99.86
09:55:01 AM     all      0.09      0.00      0.01      0.00      0.00     99.90
10:05:01 AM     all      0.10      0.00      0.01      0.02      0.01     99.86
Average:        all      0.19      0.00      0.02      0.00      0.01     99.78

%iowaitसमय आई / ओ पर इंतजार कर खर्च किया है। डेबियन पैकेज का उपयोग करते हुए, आपको /etc/default/sysstatपैकेज इंस्टॉलेशन के बाद कॉन्फ़िगरेशन कलेक्टर के माध्यम से स्टेट कलेक्टर को सक्षम करना होगा ।

डिवाइस द्वारा टूटे हुए वर्तमान उपयोग को देखने के लिए, आप iostatsysstat पैकेज से भी कमांड का उपयोग कर सकते हैं :

$ iostat -x 1
Linux 3.5.2-x86_64-linode26 (linode)    11/08/2012      _x86_64_        (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.84    0.00    0.08    1.22    0.07   97.80

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
xvda              0.09     1.02    2.58    0.49   112.79    12.11    40.74     0.15   48.56   3.88   1.19
xvdb              1.39     0.43    4.03    1.82    43.33    18.43    10.56     0.66  112.73   1.93   1.13

कुछ अन्य विकल्प जो ट्रेंडिंग ग्राफ़ में डिस्क का उपयोग दिखा सकते हैं, मुनिन और कैक्टि है


मुनिन या कैक्टि अधिक हैं जो मैं देख रहा हूं। संकेत के लिए धन्यवाद।
कैमोमाइलकैस

6
ध्यान दें कि% iowait केवल उस समय को दिखाता है जब कर्नेल के पास करने के लिए और कुछ नहीं था लेकिन IO की प्रतीक्षा करें। 100% CPU बाउंड सर्वर पर यह शून्य होगा चाहे वह कितना भी IO कर रहा हो।
जुरगेन स्ट्रोबेल

iostat -x dm-0 | grep डिवाइस; iostat -xd 2 -y dm-0 | grep dm-0
जुआन मदीना

104

Iotop पर एक नजर है।

या आयोडम्प, अगर वह आपके सोचने के तरीके से अधिक नीचे है।

नोट: यह काम करने के लिए कम से कम कर्नेल 2.6.20 की आवश्यकता है ।


यह केवल लिनक्स नहीं है, बल्कि एक नए (या पैच) कर्नेल की भी आवश्यकता है।
जोर्डनम

ये पता लगाने के लिए अच्छा है कि अभी क्या चल रहा है, लेकिन मैं बड़े चित्र की निगरानी कर रहा हूं।
कैमोमाइलकैसे

8
@camomileCase - आपने अपने प्रश्न में यह निर्दिष्ट नहीं किया है ...
tink

90

मुझे पसंद है dstat। यह प्रति डिस्क और यहां तक ​​कि md- डिवाइस (RAID) के योग और आंकड़े दिखा सकता है, बेहतर अवलोकन के लिए रंगों का भी उपयोग कर सकता है:

$ dstat -tdD total,sda,sdb,sdc,md1 60 
----system---- -dsk/total----dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/md1--
     time     | read  writ: read  writ: read  writ: read  writ: read  writ
08-11 22:08:17|3549k  277k: 144k   28k: 851k   62k: 852k   60k:  25k   82k
08-11 22:09:17|  60k  258k:1775B   15k:  13k   63k:  15k   60k:  68B   74k
08-11 22:10:17| 176k  499k:   0    14k:  41k  122k:  41k  125k: 273B  157k
08-11 22:11:17|  42k  230k:   0    14k:9830B   54k:  14k   51k:   0    70k
08-11 22:11:52|  28k  132k:   0  5032B:5266B   33k:9479B   28k:   0    37k
  • -t टाइमस्टैम्प के लिए
  • -d डिस्क आँकड़ों के लिए
  • -D रिपोर्ट करने के लिए सटीक उपकरणों को निर्दिष्ट करने के लिए
  • 60औसतन 60 सेकंड। डिस्प्ले को हर सेकंड अपडेट किया जाता है, लेकिन केवल 60 सेकंड में एक बार एक नई लाइन शुरू हो जाएगी।

  • इस उदाहरण में उपयोग नहीं किया गया है, लेकिन -cरिपोर्ट कर सकते हैं प्रतीक्षा IO प्रतिशत, जो ज्यादातर मामलों में डिस्क से डेटा के लिए इंतजार कर रहे सीपीयू से संबंधित है।

यह अधिकांश लिनक्स वितरण के लिए उपलब्ध है, लेकिन कभी-कभी रिपॉजिटरी से स्थापित करने की आवश्यकता होती है।


49

अपने कंप्यूटर पर फ़ाइलों से (हाल ही में गिरी हुई) आप पूछ सकते हैं /sys/block/sda/statया /proc/diskstats। हालाँकि इसके लिए कुछ अनुवाद की आवश्यकता होगी। लेकिन यह एक त्वरित और गंदे चेक के लिए अच्छा है।




2
इस उत्तर के लिए बड़ा लाभ यह है कि किसी भी उपकरण को स्थापित करने की आवश्यकता नहीं है। यह वहीं है। (संभावित रूप से :-)
बेन एवलिंग

2
जैसे इको "रीड io मर्ज सेक्टर टिक्क राइट्स io मर्ज सेक्टर टिक्कस इनफ्लाइट आईओटिक्स टाइमइनकेक्यू"; कैट / एसआईएस / ब्लॉक / वडा / वीडीए 1 / स्टेट; स्लीप 10; cat / sys / block / vda / vda1 / stat
बेन एवलिंग

35

एक अन्य विकल्प का उपयोग करना है: sudo iotop -aoP

-a    Will show accumulated output
-o    Will only output 
-P    Will only show processes instead of threads

यह कार्यक्रम आपको बताएगा कि आईओटीपी को शुरू करने के बाद से डिस्क पर कितनी प्रक्रिया लिखी गई है और डिस्क से पढ़ना है।


मैंने सुना है कि कुछ डिस्क तक पहुंच है, लेकिन संचित उत्पादन बहुत धीरे-धीरे बढ़ रहा है, कभी-कभी एक सेकंड में बिल्कुल नहीं ... ???
माइकल

यदि आप डिस्क सुनते हैं, तो यह शायद पुराना और / या धीमा है। आधुनिक HDD बहुत शांत हो जाते हैं। यह किस तरह की आवाजें कर रहा है? smartctlयह देखने के लिए उपयोग करें कि क्या डिस्क स्वस्थ है।
रुडोल्फबाइकर

8

मॉनिटरिंग डिस्क Io को निम्न जैसे कई टूल द्वारा किया जा सकता है।

  1. iostat
  2. Iozone
  3. एसएआर
  4. vmstat

साथ ही कुछ महत्वपूर्ण ऑपरेटिंग सिस्टम कॉन्सेप्ट्स उन्हें समझने के लिए बहुत जरूरी हैं..पहले लिनक्स आईओ पूरा ट्यूटोरियल


2
iozone परीक्षण के लिए है, निगरानी नहीं करने के लिए: "इज़ोन एक फाइल सिस्टम बेंचमार्क टूल है। बेंचमार्क विभिन्न प्रकार के फ़ाइल संचालन को उत्पन्न और मापता है।"
एंड्रयू बील्स

7

त्वरित अवलोकन के लिए एक और बढ़िया उपकरण जहां से लोड आता है atop

यह आपको सभी संसाधनों (सीपीयू, मेमोरी / स्वैप, नेटवर्क और डिस्क I / O) पर एक अवलोकन दिखा सकता है या आप एक ही संसाधन के लिए नीचे ड्रिल कर सकते हैं और प्रक्रियाओं का उपभोग कर सकते हैं कि वे कितना उपभोग करते हैं।


5

क्यों की कोशिश नहीं nmon । यह डिस्क और नेटवर्क प्रक्रियाओं के साथ करता है। मूल रूप से AIX के लिए लेकिन इसे कुछ वर्षों के लिए Linux में पोर्ट किया गया है।


1

सबसे अच्छी बात है अगर आप को देखने के लिए एक लंबी अवधि पर प्रदर्शन का उपयोग करना है करना चाहते हैं Centreon जो है एक शक्तिशाली उपकरण पर निर्माण Nagios । Centreon आपको संसाधन के प्रदर्शन और बहुत सी अन्य चीजों के रेखांकन द्वारा मॉनिटर करने में सक्षम बनाता है।


क्या अन्य बातों? कोई स्क्रीनशॉट? कृपया अपने उत्तर का विस्तार करें।
कोनराड गजेवस्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.