Alex Rivera | Logout

Programmatically get processor details from Mac OS X

Asked 2009-05-12T17:03:02.217
12

My application running on Mac OS X that needs to retrieve details about the machine it is running on to report for system information. One of the items I need is details about the processor(s) installed in the computer.

My code currently works, but is far from an ideal solution, in fact I consider it a bad solution, but I have had no luck in finding a better one.

The information I report currently and after some formatting looks like:

Processor: Intel Core 2 Duo 2.1 GHz, Family 6 Model 23 Stepping 6

All of the info I get is through command-line utilities called from a popen(). The readable part of the processor description is taken from the "system_profiler" command output and the Family, Model, and Stepping values are taken from the "sysctl" command.

These command-line utilities must be getting there information from somewhere. I'm wondering if there is an programmatic interface available to get this same info?


Related:

Edit
Report

2 Answers

5

sysctl(3) is probably a good place to start. You probably want the stuff defined by the CTL_HW selectors.

answered 2009-05-12T17:10:06.197
0

If you specifically want CPU information then use cpuid (in C __asm cpuid) instruction. It gives all possible information of a CPU including its family, model, company, number of cores etc. Primarily all APIs use this instruction to retrieve CPU information. You can get detailed information on CPUID on the web, including sample code and tutorials.

answered 2010-05-13T11:03:52.343

Your Answer