2012-09-18 18 views
5

विंडोज में मैं GetProcessMemoryInfoमैक ओएस पर मैं चरम मेमोरी कैसे प्राप्त कर सकता हूं?

फोन करके पीक मेमोरी उपयोग प्राप्त कर सकते हैं
function TProcess.Peek: Cardinal; 
var 
    PMC: PPROCESS_MEMORY_COUNTERS; 
    PMCSize: Cardinal; 
begin 
    PMCSize := SizeOf(PROCESS_MEMORY_COUNTERS); 
    GetMem(PMC, PMCSize); 
    try 
    PMC^.cb := PMCSize; 
    if GetProcessMemoryInfo(FHandle, PMC, PMCSize) then 
     Exit(PMC^.PeakWorkingSetSize) 
    else 
     Exit(0); 
    finally 
    FreeMem(PMC); 
    end; 
end; 

मैक ओएस बराबर यह करने के लिए क्या है?

+1

यहां अजगर कि कमांड लाइन उपयोगिताओं का उपयोग करने और इस जानकारी इकट्ठा करने के लिए अपने उत्पादन पर कब्जा शो में एक नमूना स्क्रिप्ट है। आप डेल्फी/पास्कल से एक ही दृष्टिकोण का उपयोग कर सकते हैं। http://apple.stackexchange.com/questions/4286/is-there-a-mac-os-x-terminal-version-of-the-free-command-in-linux-systems –

+1

संयोग से स्मृति के लिए POSIX API उपयोग ओएस/एक्स पर काम नहीं करता है इसलिए ऐसा करने का कोई पोर्टेबल तरीका नहीं है जो ओएस/एक्स और सभी सामान्य यूनिक्स/लिनक्स सिस्टम पर काम करेगा। मुझे यकीन है कि एक ओएस/एक्स-केवल एपीआई है, और एसीई जैसे सी ++ रैपर इस कार्यक्षमता में शामिल हैं। शायद Embarcadero इसे अपने आरटीएल में जोड़ना चाहिए। –

+0

यह उपयोगी हो सकता है: [CHUD टूल्स] (http://www.macupdate.com/app/mac/8506/apple-chud-tools) –

उत्तर

6

आप /usr/bin/time -l <cmd> इस तरह उपयोग कर सकते हैं:

/usr/bin/time -l sleep 3 
     3.00 real   0.00 user   0.00 sys 
    552960 maximum resident set size     <--- this one (in btyes) 
     0 average shared memory size 
     0 average unshared data size 
     0 average unshared stack size 
     144 page reclaims 
     0 page faults 
     0 swaps 
     0 block input operations 
     0 block output operations 
     0 messages sent 
     0 messages received 
     0 signals received 
     0 voluntary context switches 
     2 involuntary context switches 
+0

इस तरह से अच्छी प्रोफ़ाइल तस्वीर :-) –

+0

मुझे वास्तव में रुचि रखने में दिलचस्पी थी यह डेल्फी के माध्यम से प्रोग्रामेटिक रूप से किया गया। –

+0

ओह क्षमा करें, हो सकता है कि आप शायद यह https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/getrusage.2.html –