MenuMeters Questions and Answers (FAQ) |
Questions you've asked (and questions I hope you ask):
A: Guilty as charged. Its important to note, however, that the only undocumented API used in MenuMeters is the menu extra API itself. The routines used to gather the resource information (host_statistics, sysctl, and IOKit) are all documented.
As for the menu extra API itself... I think the benefits outweigh the risk. Certainly it is possible for a misbehaving menu extra to crash the SystemUIServer. Since SystemUIServer restarts itself, a crash is not the end of the world. Hopefully in some future system release Apple will introduce an public API that is comparable to the menu extra API. I'll happily port to that API when that day comes. In the meantime I wrote what I wanted. That said, if you are the kind of person who avoids all software that goes outside the Apple guidelines, then MenuMeters is not for you. Numerous alternatives exist, and a search on any Macintosh software site should be your next step.
A: If you want to remove MenuMeters from your system you can use the MenuMeters installer's "Uninstall" button to automatically remove the software. Alternately you can delete the "MenuMeters.prefPane" file manually. Once uninstalled you must logout and relogin to complete the removal of MenuMeters from your system.
A: The MenuMeters are plugins to SystemUIServer, and hence their CPU usage is counted into SystemUIServer's total CPU usage. To check MenuMeters CPU time use the terminal 'top' program or the Activity Monitor application to check SystemUIServer's CPU usage. I recommend using 'top -s 60' to get a wider (and thus more accurate) sample. Note that all SystemUIServer plugins are counted in this total (clock, iChat, etc. etc.) so not just MenuMeters is responsible. To get an accurate read on MenuMeters alone turn off all the MenuMeters and check SystemUIServer's usage then turn on the MenuMeters you use and check SystemUIServer again.
By its nature MenuMeters must poll the system periodically to gather data. This process uses a small amount of CPU time, and the actual process of drawing the graphics uses a little more. I expect that on current machines MenuMeters will add 1-2% additional CPU usage to SystemUIServer on average.
Here are some things you can do to reduce the CPU usage of MenuMeters:
A: Most recent Intel CPUs support "Hyperthreading" which divides each physical CPU core into multiple virtual cores. If your computer features Hyperthreading then OS X will utilize each virtual core separately and consequently MenuMeters will display separate measurements for each virtual core.
A: Network interfaces are reported on the basis of the SystemConfiguration framework. To prevent interfaces from showing in the list you must disable the interface in the Apple Network preference panel.
A: MenuMeters is released under the GNU General Public License (GPL) version 2. This makes it both "free" as in beer and "free" as in speech, for those who partition the world using that terminology (I am not one of them). MenuMeters is open source mostly because there isn't a good reason for it not to be, except, perhaps, saving myself the embarrassment of having others look at my first C code from a long time ago.
Although it uses none of their code directly, MenuMeters wouldn't exist without the projects of others released as open source under a variety of licenses like the GPL, APSL, and Artistic License (see "Thanks" section of the MenuMeters Read Me for some credits).