मैं आम तौर पर इस प्रकार के काम के लिए एक साधारण लिपि फेंक देता हूं।
proc फाइल सिस्टम (Google 'linux proc.txt') के लिए कर्नेल दस्तावेज़ों पर नज़र डालें।
/proc/stat
(proc.txt में सेक्शन 1.8) की पहली पंक्ति आपको संचयी सीपीयू उपयोग आंकड़े (यानी उपयोगकर्ता, अच्छा, सिस्टम, निष्क्रिय, ...) प्रदान करेगी। प्रत्येक प्रक्रिया के लिए, फ़ाइल /proc/$PID/stat
(proc.txt में तालिका 1-4) आपको प्रक्रिया-विशिष्ट सीपीयू उपयोग आंकड़े और स्मृति उपयोग आंकड़े दोनों (आरएसएस देखें) प्रदान करेगी।
यदि आप थोड़ा सा Google करते हैं तो आपको इन फ़ाइलों पर बहुत विस्तृत जानकारी मिल जाएगी, और लाइब्रेरी/ऐप्स/कोड स्निपेट्स के पॉइंटर्स होंगे जो आपको आवश्यक मूल्यों को प्राप्त/प्राप्त करने में आपकी सहायता कर सकते हैं। इसे ध्यान में रखते हुए, मैं उच्च स्तरीय रणनीति पर ध्यान केंद्रित करूंगा।
सीपीयू आंकड़ों के लिए, निष्पादन योग्य बनाने के लिए अपनी पसंदीदा स्क्रिप्टिंग भाषा का उपयोग करें जो निगरानी के लिए प्रक्रिया आईडी का एक सेट लेता है। एक निश्चित अंतराल पर (पूर्व: 1 सेकंड) मतदान/प्रत्येक प्रक्रिया और पूरी तरह से सिस्टम के लिए संचयी योग की गणना करें। प्रत्येक मतदान अंतराल के दौरान, सभी परिणामों को एक ही पंक्ति पर stdout पर लिखें।
स्मृति आंकड़ों के लिए, एक समान स्क्रिप्ट लिखें, लेकिन बस प्रति-प्रक्रिया मेमोरी उपयोग लॉग करें। मेमोरी थोड़ा आसान है क्योंकि हम तत्काल तात्कालिक मान प्राप्त करते हैं।
भागो अपने परीक्षण की अवधि के लिए इन स्क्रिप्ट है, कि तुम पर नजर रखने और एक लॉग फ़ाइल के लिए इसके उत्पादन पुनः निर्देशित करना चाहते हैं प्रक्रियाओं आईडी के सेट गुजर।
./logcpu $(pidof foo) $(pidof bar) > cpustats
./logmem $(pidof foo) $(pidof bar) > memstats
इन फ़ाइलों की एक स्प्रेडशीट में सामग्री आयात करें (कुछ अनुप्रयोगों के लिए यह कॉपी/पेस्ट के रूप में आसान है)। सीपीयू के लिए, आप तात्कालिक मूल्यों के बाद कर रहे हैं लेकिन संचयी मान हैं, तो आप इन मूल्यों को प्राप्त करने के लिए कुछ मामूली स्प्रेडशीट काम करने की आवश्यकता होगी (यह सिर्फ डेल्टा 'टी (x + 1) - टी (x)' है)। बेशक आप अपने सीपीयू लॉगर डेल्टा लिख सकते हैं, लेकिन आप स्क्रिप्ट पर थोड़ा और समय बिताएंगे।
अंत में, एक अच्छी साजिश उत्पन्न करने के लिए अपनी स्प्रेडशीट का उपयोग करें।
MMonit, यह अनिवार्य है शामिल हैं। सिंगल मॉनिट फ्री है, क्लस्टर एमएमओनीट का भुगतान किया जाता है। – erm3nda