Avatar ·

C++ प्रक्रिया के अंदर से CPU और मेमोरी खपत कैसे निर्धारित करें?

सभी को नमस्ते! मैं लगभग एक साल से C++ में कोड लिख रहा हूँ, और मुझे एक ऐसी समस्या का सामना करना पड़ा जिसने मुझे असमंजस में डाल दिया। मुझे चाहिए कि मेरा प्रोग्राम (इमेज प्रोसेसिंग के लिए सर्वर) रियल टाइम में ट्रैक करे कि वह कितनी मेमोरी और CPU खपत कर रहा है। समस्या यह है कि मैं नहीं समझ पा रहा हूँ कि प्रक्रिया के अंदर से यह डेटा कैसे प्राप्त करूँ।\n\nउदाहरण के लिए, मैं लॉग में कुछ इस तरह आउटपुट करना चाहता हूँ: "पीक मेमोरी खपत: 150 MB, CPU लोड: 45%"। मैंने ऑब्जेक्ट्स के लिए `sizeof()` जैसे सरल वेरिएबल्स का उपयोग करने की कोशिश की, लेकिन यह वास्तविक तस्वीर नहीं देता — क्योंकि मेमोरी heap पर आवंटित होती है, साथ ही stack और सिस्टम रिसोर्सेज पर अतिरिक्त खर्च होता है। CPU के साथ यह और भी जटिल है: मैं `clock()` का उपयोग करके कोड के एक हिस्से के निष्पादन समय को माप सकता हूँ, लेकिन यह समय केवल मेरे थ्रेड का है, पूरे प्रोग्राम का नहीं, और यह I/O प्रतीक्षा समय को भी ध्यान में नहीं रखता।