问题
Shark, Apple's profiler which let you configure custom performance counters, is no longer supported in OSX Mountain Lion since it can't run a 32-bit kernel. Instruments.app, Apple's replacement for Shark, doesn't seem to support reading performance counters such as L1 cache hits/misses**. Is there anyway to actually setup and read performance counters on OS X? Even if there is no application, is there some user-land API to do this?
**Instruments.app does seem to have an interface for performance counters, but on my Retina MacBook Pro, the PM Events window lists no events, and indicates "Device: Unknown." Are there any other alternatives to Instruments?
回答1:
Yes. It's there, but difficult to find and clumsy to use (ver.4.5).
- Launch Instruments.
- You are greeted by the Wizard
- Choose "Blank" template for OS X
- Press
cmd
+L
to display the Library - Add "Counters" instrument to your Instruments document
- Press
cmd
+shf
+P
-- you are presented with the PM Events floating window. - Let's evaluate "Divide Operations executed" -- Add "Divide Operations executed" to the PM Events window's search field.
- Now set the "State" of "Divide Operations executed" to "Visible"
- Now back to the main document window, press
cmd
+I
to display the info popover of the "Counters" instrument. - Press the
+
button - Set the new Counter's event to "Divide Operations executed"
- Begin sampling...
- End sampling...
You will see the results in Instruments' table columns. Of course, there are many events you could record -- So find the L1 cache events you are interested in and add them instead of divides.
Also be prepared for system freezes (one happened while writing this up).
来源:https://stackoverflow.com/questions/13075113/is-there-anyway-to-read-performance-counters-on-os-x-mountain-lion