2014-10-19 4 views
5

का उपयोग कर रैम की कुल मात्रा कैसे प्राप्त कर सकता हूं, क्या मेरे सिस्टम ने सी का उपयोग करने वाली रैम की कुल मात्रा का पता लगाने का कोई तरीका है? मैं उबंटू 12.04 पर हूं। मुझे सी में एक एप्लीकेशन लिखना होगा जो रन टाइम के दौरान रैम की कुल मात्रा को आदर्श रूप से पूछता है।मैं अपने सिस्टम का उपयोग सी

उत्तर

5

लिनक्स पर, यह /proc/meminfo से उपलब्ध है। उदाहरण:

 
MemTotal:  16469432 kB 
MemFree:   792136 kB 
MemAvailable: 15201832 kB 
Buffers:   5806244 kB 
Cached:   8637760 kB 
... 

बस इसे एक साधारण फ़ाइल के रूप में खोलें, और सामग्री को पार्स करें।

+0

धन्यवाद। मुझे यकीन नहीं था कि सी पुस्तकालय में कुछ फ़ंक्शन था जो मेरे लिए ऐसा कर सकता था। – abc

3

सबसे आसान तरीका procfs का उपयोग करना है (डाइट्रिच के उत्तर देखें)।

हालांकि, हार्डवेयर के बारे में अधिक विवरण (रैम, सीपीयू गिनती, गति, मॉडल संख्या, विविध अन्य उपकरणों) आप dmesg से जानकारी की टन निकाल सकते हैं के लिए:

dmesg | grep Memory 

आप सी stdlib popen उपयोग कर सकते हैं() यदि आपके पास निजी है, तो डीएमएसई से पढ़ने के लिए, और सभी प्रकार की जानकारी पार्स करें। मैंने इसे नोड के बारे में जितना संभव हो उतना जानकारी निकालने के लिए स्पॉन्ग जैसे निगरानी प्रणाली के लिए उपयोग किया है। आप हार्डवेयर/डिवाइस कमांड से प्रतिक्रिया के लिए लाइव भी निगरानी कर सकते हैं (dmesg | tail -f)।

ध्यान रखें कि डीएमएसजी हमेशा उपलब्ध नहीं है, निजी पर निर्भर करता है।

+0

महान टिप के लिए धन्यवाद। – abc

0

जरूरत है आप शीर्ष आदेश का उपयोग cpu उपयोग स्मृति उपयोग दिखाएगा कर सकते हैं, आदि

संबंधित मुद्दे