मैं प्रति प्रक्रिया / प्रति थ्रेड मेमोरी खपत (हीप, स्टैक, डेटा, कोड में विभाजित) की निगरानी कैसे कर सकता हूं?


11

अपने खुद के कोड को कूदने और लिखने से पहले, मैं यह पता लगाना चाहता हूं कि क्या जीएनयू / लिनक्स सॉफ्टवेयर है जो क्यूएनएक्स केshowmem समान कुछ उत्पादन करने में सक्षम है ।

चल रही प्रत्येक प्रक्रिया के प्रत्येक धागे के लिए, मैं निम्नलिखित श्रेणियों में विभाजित की गई मेमोरी की खपत देखना चाहता हूं:

 Process listing (Total, Code, Data, Heap, Stack, Other)
 319488  1024000      24587     167936      24576          0        4103 devc-con-hid (thread 2)
    0          0          0          0       4096          0        4103 devc-con-hid (thread 2)
    0          0          0          0      20480          0        4103 devc-con-hid (thread 1)
    0     102400       8192          0          0          0        4103 devc-con-hid (proc/boot/devc-con-hid)
    0          0      16384          0          0          0        4103 devc-con-hid (proc/boot/libc.so.3)
    0          0          0          0          0  (   36864)       4103 devc-con-hid (/dev/mem)

क्या ऐसा कुछ है जो इसे संभव बना देगा?


ऐसा लगता है कि इस जानकारी का सबसे अधिक है/proc/$PID/smaps
ब्राचली

यह सही है, लेकिन मैं उम्मीद कर रहा था कि कुछ उपकरण हैं जिन्हें मैं चला सकता हूं और स्वचालित रूप से मेमोरी जानकारी को आउटपुट करता हूं।
एलेक्स

मुझे यकीन है कि विशिष्ट आवश्यकताओं वाले किसी व्यक्ति के लिए मेमोरी प्रोफाइलर हैं। ज्यादातर लोग समय-समय पर उस खरीद फ़ाइल की सामग्री को सहेज सकते हैं। एफडब्ल्यूआईडब्ल्यू ऐसा लगता है कि वैलग्राइंड के घटकों में से एक में बहुत अच्छा प्रोफाइलर है। मैंने इसका कभी उपयोग नहीं किया है, लेकिन शायद यह आपके लिए एक दिशा है।
ब्राचली

जवाबों:


6

आप कुछ जानकारी का उपयोग करके देख सकते हैं pmap -x PID- यह प्रत्येक पुस्तकालय / मॉड्यूल / खुली फ़ाइल / प्रक्रिया के ढेर के लिए किबीट, आरएसएस और गंदी मेमोरी में विभाजित है:

अपरिभाषित @ uml: ~ $ pmap -x 13206
13206: नींद 60
पता कबीट्स आरएसएस डर्टी मोड मैपिंग
0000000000400000 24 20 0 rx-- नींद
0000000000606000 4 4 4 आर ---- नींद
0000000000607000 4 4 4 आरडब्ल्यू --- नींद
000000000063b000 132 8 8 rw --- [एनोन]
00007f6a9847e000 4308 44 0 r ---- स्थानीय-संग्रह
00007f6a988b3000 1772 376 0 rx-- libc-2.19.so
00007f6a98a6e000 2048 0 0 ----- libc-2.19.so
00007f6a98c6e000 16 16 16 r ---- libc-2.19.so
00007f6a98c72000 8 8 8 rw --- libc-2.19.so
00007f6a98c74000 20 12 12 rw --- [anon]
00007f6a98c79000 140 116 0 rx-- ld-2.19.so
00007f6a98e71000 12 12 12 rw --- [anon]
00007f6a98e99000 8 8 8 rw --- [anon]
00007f6a98e9b000 4 4 4 r ---- ld-2.19.so
00007f6a98e9c000 4 4 4 rw --- ld-2.19.so
00007f6a98e9d000 4 4 4 आरडब्ल्यू --- [एनोन]
00007fff09fd0000 132 12 12 rw --- [स्टैक]
00007fff09ffe000 8 4 0 rx-- [anon]
ffffffffff600000 4 0 0 rx-- [anon]
---------------- ------- ------- ------- 
कुल kB 8652 656 96
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.