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.