2009-05-14 2 views
7

पर I/O के लिए प्रतीक्षा करने की प्रक्रिया कितनी बार अवरुद्ध है, क्या vmstat प्रकार कमांड है जो प्रति-प्रक्रिया करता है जो आपको यह देखने की अनुमति देता है कि I/O, कर्नेल में समय और समय के लिए एक प्रक्रिया अवरुद्ध होने का कितना समय अवरुद्ध है। उपयोगकर्ता कोड?पता लगाएं कि लिनक्स

+0

क्या आपने एप्लिकेशन को प्रोफाइलिंग करने पर विचार किया था उदा। oprofile? इससे आपको अधिक जानकारी मिल जाएगी कि एप्लिकेशन वास्तव में कितना समय व्यतीत करता है (आईओ या अन्यथा)। – lothar

उत्तर

1

blktrace अपने लिए, ब्लॉक परत जानकारी क्या देख, रुको/अवरुद्ध/व्यस्त आदि है ..., बहुत गहराई में, वहाँ काफी संकुल है कि यह से निकाले जाते हैं, seekwatcher, के कुछ ...

कुछ अन्य उपकरण, जो सिगजूइस ने कहा था, सिमुलर, आईओपोट भी आसान है, लेकिन गंभीर विश्लेषण के लिए कम जानकारीपूर्ण है। इसके अलावा मेरा मानना ​​है कि बैट्रेस/ब्लैकट्रैस ओप्रोफाइल की तुलना में आई/ओ ट्रेसिंग के लिए बहुत अधिक उपयुक्त है, जो अधिक सामान्य है और तुलना में लोड बढ़ाता है।

-1

top (1) इस सुधार को दिखाएगा। आप -p

+0

-d: विलंब समय अंतराल: -d ss.tt (सेकंड.tenths) स्क्रीन अपडेट के बीच देरी निर्दिष्ट करता है, और किसी के व्यक्तिगत कॉन्फ़िगरेशन फ़ाइल या स्टार्टअप डिफ़ॉल्ट में संबंधित मान को ओवरराइड करता है। बाद में इसे 'डी' या 'इंटर' इंटरैक्टिव कमांड के साथ बदला जा सकता है। फ्रैक्शनल सेकंड सम्मानित हैं, लेकिन एक नकारात्मक संख्या की अनुमति नहीं है। हालांकि, सभी मामलों में, यदि रूट को छोड़कर शीर्ष 'सुरक्षित मोड' में चल रहा है, तो इस तरह के परिवर्तन प्रतिबंधित हैं (जब तक कि 's' कमांड लाइन विकल्प का उपयोग नहीं किया जाता)। 'सुरक्षित मोड' पर अतिरिक्त जानकारी के लिए विषय 5 ए देखें। सिस्टम कॉन्फ़िगरेशन फ़ाइल। – TruongSinh

0

के साथ एक व्यक्तिगत पिड निर्दिष्ट कर सकते हैं pidstat -d पर भी देखें। यह आपको यह देखने देता है कि प्रत्येक प्रक्रिया कितनी पढ़ रही है और लिख रही है।

0

strace आपको दिखाएगा कि सिस्टम कॉल में कितना समय व्यतीत किया गया है, हालांकि यह आपको यह नहीं बताएगा कि इस समय कितना समय व्यतीत करने के लिए वास्तव में खर्च किया गया है I/O के लिए। आप चुन सकते हैं कि आप किस सिस्टम कॉल को ट्रेस करना चाहते हैं, या किस प्रकार, यह काफी शक्तिशाली है

latencytop एक और अच्छा टूल होगा, क्योंकि आपकी प्रक्रिया अन्य प्रक्रियाओं के कारण I/O की प्रतीक्षा कर सकती है, या कुछ पत्रिकाओं की वजह से डेमॉन।