मैं कुछ I / O समस्याओं को लिनक्स सिस्टम के एक जोड़े पर रख रहा हूं जिन्हें मैं प्रशासित करता हूं। वे उस प्रक्रिया में प्रकट होते हैं जो अक्सर खुले (), अनलिंक () या बंद () फाइलों पर (जो कि एक समस्या है क्योंकि कुछ शामिल कार्यक्रमों में कुछ सेकंड के लिए ब्लॉक करने की आवश्यकता होती है, क्योंकि इसमें शामिल कुछ कार्यक्रमों को संचालित करने के लिए कम I / O विलंबता की आवश्यकता होती है ढंग से)। यह सच है कि सिस्टम में कुछ मध्यम आई / ओ लोड का अनुभव करने के लिए प्रश्न हैं, लेकिन मैं शायद ही सोच सकता हूं कि यह इस तरह के विशाल विलंबता का औचित्य साबित करने के लिए पर्याप्त होगा। कभी-कभी, कॉल को पूरा होने में 15 सेकंड से अधिक समय लग सकता है (हालांकि अधिक बार उन्हें 1 या 2 या 3 सेकंड या ऐसा हो सकता है)।
मेरा सवाल है: मैं यह कैसे पता लगा सकता हूं कि ऐसा क्यों होता है? मैं चाहूंगा कि कुछ उपकरण हैं जो मुझे बता सकते हैं कि प्रश्न में क्या प्रक्रियाएं कर्नेल द्वारा अवरुद्ध हैं, और क्यों वे जिस पर सोते हैं वह व्यस्त है, इसके साथ क्या हो रहा है, और ऐसी चीजें। क्या ऐसा कोई उपकरण है, या क्या ऐसा करने का प्रयास करने का कोई और तरीका है?
वैकल्पिक रूप से, निश्चित रूप से, यदि आपके पास कोई सुराग है कि वास्तव में क्या हो रहा है, तो इसे कैसे टाला जा सकता है?
रिकॉर्ड के लिए, मेरे द्वारा उपयोग की जाने वाली फाइलसिस्टम XFS है।