Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Jan 10, 2013, 07:06 AM   #1
ArtOfWarfare
macrumors 601
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
How Does Activity Monitor Work?

Does anyone know from whence Activity Monitor fetches all the data it shows?

Namely, I'd like to find the breakdown of CPU and RAM usage of each process running on the computer in my app.

An ideal solution would be MAS-permitted but I'd be happy with any solutions anyone has.

I'm in a similar boat to this person:

http://stackoverflow.com/questions/6762932/measure-memory-usage-of-a-process-in-cocoa-objectice-c

Looking at other sources, I found someone saying that the kernel keeps track of memory and CPU usage of each application.

To be clear, the data I want is exactly what activity monitor shows... I've read other places that there are five different types of memory, and I don't care that much about such details... Whatever is good enough for Activity Monitor is good enough for me.
ArtOfWarfare is offline   0 Reply With Quote
Old Jan 10, 2013, 07:14 AM   #2
robbieduncan
Moderator
 
robbieduncan's Avatar
 
Join Date: Jul 2002
Location: London
Possibly using DTrace?
robbieduncan is offline   0 Reply With Quote
Old Jan 10, 2013, 01:00 PM   #3
Ap0ks
macrumors regular
 
Join Date: Aug 2008
Location: Cambridge, UK
Yeah most likely using DTrace or simply a GUI to the top command.
Ap0ks is offline   0 Reply With Quote
Old Jan 10, 2013, 02:30 PM   #4
chown33
macrumors 603
 
Join Date: Aug 2009
Start by looking at the man page for the 'top' command. See if it has the ability to print every specific datum you want.

If it does, then go get the source for 'top' from Apple's Darwin website, and see how 'top' gets each specific datum. I suspect 'top' uses the sysctl() function (man section 3) for a lot of things, and the various KERN_PROC mibs or names. But the best approach is to look at top's source.

If you need some datum that top doesn't display, and you can't figure out a sysctl() name to use, ask again.

Notice when running Activity Monitor that pmTool, which Activity Monitor uses to gather data, runs as root, which means you may be restricted in deploying to the Mac App Store.
chown33 is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 07:17 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC