जवाबों:
Iotop आप क्या चाहते हैं के लिए एक अच्छा उपकरण है। यह किसी को भी DISK READ, DISK WRITE, SWAPIN, और IO (समग्र प्रतिशत) पर I / O की संचित राशि प्रदर्शित करने की अनुमति देता है। यह निफ्टी इंटरफेस के माध्यम से है:
जैसे top
, प्रस्तुति बल्कि व्यस्त है। एक और बात यह है कि इसमें असंख्य विकल्प नहीं हैं top
(उदाहरण के लिए मैं किसी भी कॉलम को अनइंस्टाल नहीं कर रहा हूं) को छिपाने के लिए नहीं चुना जा सकता, लेकिन यह टूल अपने विशिष्ट उद्देश्य के लिए पर्याप्त से अधिक अच्छा है।
-o
( --only
) वास्तव में किसी भी I / O नहीं करने वाले सभी कार्यों को फ़िल्टर कर सकता है। यह सूची को कम भीड़ बनाता है
आप lsof
( आदमी lsof ) का उपयोग कर सकते हैं । निम्नलिखित उन सभी फाइलों की सूची लौटाएगा जो लिखने के लिए खुली हैं:
lsof | grep -e "[[:digit:]]\+w"
w
मेकअप उपरोक्त आदेश से आप फ़ाइलों को लिखने के लिए खुले हैं के लिए grep केवल । लिखने और पढ़ने ( u
) के लिए खुली हुई फाइलें प्रदर्शित नहीं होंगी, लेकिन उन्हें भी लिखा जा सकता है। यदि आप लिखने के लिए और पढ़ने + लिखने के लिए फ़ाइलें खोलना चाहते हैं, तो मुझे विश्वास है कि आप यही देख रहे हैं:lsof | grep -e "[[:digit:]]\+[wu]\{1\}"
का उपयोग करें strace
।
विशेष रूप से कम डिस्क गतिविधि के लिए, छोटे मोड को जल्दी से गायब होने से रोकने के लिए, बैच मोड में iotop का उपयोग करना आवश्यक है। द्वारा जवाब मैं फाइल सिस्टम कैसे लॉग ऑन करते लिनक्स में फ़ाइल नाम द्वारा / राईट पढ़ा है? यह कैसे करना है दिखाता है।
अब तक
iotop
का सबसे अच्छा समग्र समाधान है। निम्नलिखित कमांड आपको डिस्क का उपयोग करके सभी प्रक्रियाओं का एक वास्तविक समय आउटपुट देता है।
iotop -bktoqqq -d .5
where: -b is batch mode
-k is kilobytes/s
-t adds timestamp
-o only show processes or threads actually doing I/O
-qqq removes output headers
-d .5 updates every .5 seconds
एक बार आपके पास प्रोसेस आईडी होने के बाद, आप फाइलों को भी ढूंढ सकते हैं
lsof -p $PID