मैं किसी विशिष्ट ड्राइव पर डिस्क गतिविधि की निगरानी कैसे करूं?


35

मैं अपने USB बाहरी हार्ड ड्राइव पर डिस्क गतिविधि देखना चाहता हूं। मुझे पता है कि मैं iotopप्रत्येक चल रही प्रक्रिया के लिए डिस्क I / O की निगरानी करने के लिए उपयोग कर सकता हूं, लेकिन क्या प्रति फ़ाइल सिस्टम को मापने का एक तरीका है?

जवाबों:


19

डिस्क गतिविधि को सख्ती से मॉनिटर करने के लिए dostat, iostat से बेहतर है।

मैं फ़ाइलों को एक हार्डड्राइव से दूसरे में स्थानांतरित करते समय निम्नलिखित कमांड चला रहा हूं

dstat -D sda,sdc

अधिक जानकारी के लिए, इस पृष्ठ पर एक नज़र डालें

https://help.ubuntu.com/community/DiskPerformance


1
बहुत अच्छा। हालांकि इस तरह से मैं देख नहीं सकता कि कौन सी प्रक्रिया आईओ का कारण बन रही है। इसलिए मैं या तो किस प्रक्रिया (iotop) के साथ या किस डिवाइस (dstat के साथ) को देख रहा हूं, लेकिन दोनों नहीं।
jlh

काश, हम इसकी निगरानी को एक विशिष्ट प्रक्रिया तक सीमित कर सकते हैं
मैट

23

मैं इस क्षेत्र में कुशल नहीं हूं, लेकिन इस्टैट के मन में आता है। आप इसे sysstat पैकेज के साथ स्थापित कर सकते हैं । सौभाग्य!


6
उदाहरण का उपयोग: iostat -d 10 /dev/sdaआपको 10 सेकंड के अंतराल में io उपयोग प्रदान करेगा /dev/sda। मैं लगभग watch iostat -d /dev/sdaइसके अंतराल के विकल्प का उपयोग करूंगा । संपादित करें: जब मैं टाइप कर रहा था, तो मुझे इसे हरा दें :)
aperson

1
मैंने अभी पढ़ा कि रिपोर्ट किए गए मूल्यों का पहला सेट सिस्टम स्टार्टअप के बाद से क्या हुआ है, इसलिए यह पता चलता है कि उपयोग करने के लिए बहुत अधिक समझ में नहीं आता है watch। कुछ के साथ निरंतर रिपोर्टिंग जैसे iostat -dk 10अधिक सार्थक संख्या देता है।
ændrük

हम्म ... मुझे यह पसंद नहीं है कि यह मेरा पूरा स्क्रॉलबैक भर दे।
एपर्स

क्रैंक एक नया टर्मिनल खोलें और फिर यह करना
adampski

10

का प्रयोग iostatसे sysstatपैकेज स्टार्टअप के बाद परिणाम की एक एकल स्नैपशॉट प्रदान करता है। अंतराल पैरामीटर का उपयोग आउटपुट के अंतिम अंतराल के लिए परिणामों को जोड़ देगा। उदाहरण के लिए, iostat 10पहले "बूट के बाद से" मान दिखाएंगे, फिर आउटपुट के अंतिम 10 सेकंड को हर 10 सेकंड में जोड़ना जारी रखेंगे। -yबूट के बाद से आंकड़ों के पहले प्रदर्शन को छोड़ने का विकल्प शामिल करें, लेकिन यह समझें कि कमांड निर्दिष्ट अंतराल के लिए निष्क्रिय दिखाई देगा, जबकि सिस्टम पहले स्नैपशॉट एकत्र करता है।

मैंने इसे सबसे प्रभावी पाया है जब watchकमांड के साथ जोड़कर केवल आंकड़ों के एक अंतराल के लिए इकट्ठा करने का संकेत दिया है। उदाहरण के लिए: watch -t -n 0.1 iostat -d -t -y 5 1 पिछले 5 सेकंड के लिए गतिविधि के आंकड़ों के प्रत्येक 5.1 सेकंड को ताज़ा करता है। विकल्पों और मापदंडों को तोड़ने के लिए ...

  • -tहेडर को छोड़ने के लिए पहला वॉच बताता है। यह भ्रम से बचने के लिए है कि अन्यथा हेडर में "हर 0.1s" शामिल होगा जो डेटा के स्नैपशॉट का प्रतिनिधित्व नहीं करता है।
  • -n 0.1निम्न आदेश हर 0.1 सेकंड चलाने के लिए देखने के लिए कहता है। यह घड़ी के लिए सबसे छोटा अंतराल है (proc-ng 3.3.9) लेकिन चिंता न करें, यह वास्तव में हर 0.1 सेकंड में कमांड नहीं चला रहा है। पूर्व उदाहरण पूरा होने के बाद यह कमांड 0.1 सेकंड चलेगा।
  • यह -dबताता है कि आईओसेट केवल उपकरण उपयोग को प्रदर्शित करता है, क्योंकि यह प्रश्न डिस्क गतिविधि से संबंधित था। वैकल्पिक रूप से एक विशिष्ट डिस्क की निगरानी के लिए डिवाइस का नाम अंतराल मापदंडों से पहले डाला जा सकता है।
  • दूसरा -tस्विच आंकड़ों में ताज़ा के समय को शामिल करने के लिए आईओस्टाट को बताता है। यह तब से उपयोगी है जब घड़ी हेडर के पहले के चूक से उस समय के प्रदर्शन को हटा दिया गया था जो कि वहाँ रहा होगा।
  • -yस्विच "बूट के बाद से" अंतराल प्रदर्शन से आँकड़ों की पहली स्क्रीन अस्वीकार करते हैं। इसके बिना परिणाम कमांड के अंतराल पर बूट अपडेट के बाद से आंकड़ों का प्रदर्शन होगा।
  • 5 1Iostat अंतराल मानकों हैं। इस मामले में एक बार (1) आँकड़े के 5 सेकंड पर कब्जा। क्योंकि -y स्विच का उपयोग किया गया था, यह केवल डेटा की एकल स्क्रीन प्रस्तुत करेगा।

Iostat को डेटा एकत्र करने में 5 सेकंड का समय लगेगा, इसे फिर वॉच में प्रदर्शित किया जाएगा, और 0.1 सेकंड बाद की घड़ी फिर से iostat कमांड को ट्रिगर करेगी। 5 सेकंड बाद नया डेटा पुराने की जगह लेगा, घड़ी 0.1 सेकंड प्रतीक्षा करेगी, धोएं, कुल्ला, दोहराएगी ...


9

Nmon के साथ प्रयास करें

sudo apt-get install nmon

प्रयत्न:

nmon

नीचे की तरह उत्पादन:

यहाँ छवि विवरण दर्ज करें

प्रेस d = डिस्क प्रेस c = CPU प्रेस r = RAM, प्रेस v = वर्चुअल मेमोरी, कर्नेल स्टेटस प्रेस K, प्रेस N = नेटवर्क और प्रेस q या x से बाहर निकलने के लिए

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