CPU Usage
A handy little monitor by Peter Hosey
Description
This application shows the current CPU usage in a floating square meter, or your Dock icon, or both:

This information is useful for determining how hard your computer is being worked. Your computer may behave slowly or run hot when the processor is being worked hard.
The text is completely transparent, and the opacity of the meter's background is directly tied to the CPU usage (for example, the backdrop of the meter above is 63% opaque). Also, if you have more than one processor, the meter will have multiple cells, and in each one, the CPU number will be shown below the percentage.
This application requires Mac OS X 10.4 or later. It is a universal binary, so it will run natively on either an Intel-based Mac or a PowerPC-based Mac.
Beta software
This is version 0.5. It is not a final release. However, there are no known bugs.
Please contact me with bug reports. (Contact information is in the ReadMe included with the software.)
Next version
The next version will probably be 1.0. At the moment, I don't have any plans to add anything; any changes between 0.5 and 1.0 will probably be minor, except that 1.0 may use the final Sparkle 1.5 updater, rather than a build of a work-in-progress version of it.
If you know a feature you want to request, please contact me. (Contact information is in the ReadMe included with the software.)
Version history
New in version 0.5:
- Snapping windows
- Use the opacity slider in the Color Panel instead of having a separate one (I don't know why I did it that way)
- Sparkle software-update mechanism (using r150 of Sparkle SVN trunk, from before its move to a Bazaar repository)
- More and better animations
Fixed in version 0.5:
- Drawing really is multi-threaded now, meaning that CPU Usage's own load should now be better distributed across multiple cores
- Fixed a concurrency problem that was causing a rare crash (a little less rare—once a day or so—after I fixed the threading)
- Much faster: CPU Usage's own usage is down from ~2.5% to ~0.6% of one core on my Mac Pro
New in version 0.4:
- The optional ability to display the CPU usage in the Dock icon, in addition to or instead of the floating window
- A new rectangular orientation for the floating window (also used in the Dock icon)
- The ability to set the text color and text opacity
- Menu items for the three floating-window layouts
Fixed in version 0.4:
- Burninated much code
- Now works correctly on multi-processor configurations
Fixed in version 0.3:
The application gushed memory (approx. 10 K per second, according to top) because host_processor_info (the function that returns the accumulated CPU usage numbers) allocates a new array in memory, and I was not calling vm_deallocate on that array.
The application is now multi-threaded.
The theory behind this is that OS X's scheduler may distribute the threads between the various processors in the machine, so that a multi-processor Mac will be using each of its processors to draw one of the views.
Probing the CPU usage still happens on the main thread. This means that one of the CPUs is still getting a little more work than the others. There's nothing that I can do about that.
Fixed in version 0.2:
Version 0.1 was the first release.
Downloads
- CPU_Usage-0.5.dmg
- The application, on a bzip2-compressed UDIF disk image.
128-bit FNV1 hash: ec79594862c79c586eb483067b4b1cb2
MD5 hash: 543ca1409f1070cafe7b0e1fca2ea7dc
SHA-1 hash: fc297c72de45138e04d6ce1a2a9b3c4773b279bd
- CPU_Usage-0.5-source.tbz
- Objective-C source code and an Xcode 2.4 project (as well as the application used to generate the icon), in a bzip2ed tarball.
128-bit FNV1 hash: ab6b0e748fd5c4361a0db031f272cfa5
MD5 hash: b7470c766335e8cee6f2c4ffecfd3561
SHA-1 hash: ffc977114f4790e17173c867e9462a625a7afd19
- CPU Usage 0.4.dmg
- The application, on a bzip2-compressed UDIF disk image.
128-bit FNV1 hash: 63dc75082aa7e24a3450c2dd663f75cf
MD5 hash: 3032b52a47347c1fb3918c9ee41441ef
SHA-1 hash: 73c68e98d73dfea36b514b4f8da85a535b1451b6
- CPU Usage 0.4-source.tbz
- Objective-C source code and an Xcode 2.4 project (as well as the application used to generate the icon), in a bzip2ed tarball.
128-bit FNV1 hash: e4be570d9862360fa1b0bf047a4279dd
MD5 hash: 64983d59f9d457caaf3c30972d79cd8d
SHA-1 hash: 02c1b6e11e77498d0c157a0281fd5754d7048ee8
- CPU Usage 0.3.dmg
- The application, on a bzip2-compressed UDIF disk image.
128-bit FNV1 hash: c2602dcc6df10bf4c1fb58bef2133c53
MD5 hash: cd59c17c2df8c2910881694540b1ba0f
SHA-1 hash: 1d506859a10f9c786e07087c55efc1449d2cb57e
- CPU Usage 0.3-source.tbz
- Objective-C source code and an Xcode 2.3 project (as well as the application used to generate the icon), in a bzip2ed tarball.
128-bit FNV1 hash: 5372ddd8e3742f9b7803361b12581d99
MD5 hash: 69e6ee476a2137da00c284975dd0ea26
SHA-1 hash: ea2c31d079f2dea6dabc331cc352398dd5cd4152
- CPU Usage 0.2.dmg
- The application, on a bzip2-compressed UDIF disk image.
128-bit FNV1 hash: 0635fdf6f58519d8cf009c2e914bface
MD5 hash: c71b43d33d4686df513254c979436d10
SHA-1 hash: 5a5ecd2df8d3108a5fcd5f7dfa4fd9e8d300bbf1
- CPU Usage 0.2-source.tbz
- Objective-C source code and an Xcode 2.3 project (as well as the application used to generate the icon), in a bzip2ed tarball.
128-bit FNV1 hash: b1d862907b701175f5f8c171a07749ee
MD5 hash: 2242c6ede857a38f92efdf92eb70f009
SHA-1 hash: 31685e52e153554a2efe3891601913d4d02d5e16
- CPU Usage 0.1.dmg
- The application, on a bzip2-compressed UDIF disk image.
128-bit FNV1 hash: 8a3c69732f139a2c9907a307243c06ff
MD5 hash: 5801f36273dac933637263808de5ef8b
SHA-1 hash: 034b19fd5298f0284be017820e971a961cc6d9ed
- CPU Usage 0.1-source.tbz
- Objective-C source code and an Xcode 2.3 project (as well as the application used to generate the icon), in a bzip2ed tarball.
128-bit FNV1 hash: ced3f3e287c34e13356ebb98c51da8e9
MD5 hash: a8d34a9274f7e81679d92fc73f6b6b53
SHA-1 hash: bf9f03ba4c9778c566c5f9cad51660a4c16f02d1
MD5 and SHA1 signatures were created using the md5sum(1) and sha1sum(1) utilities from GNU coreutils.
Mercurial repository
If you want to contribute bug-fixes or enhancements to CPU Usage, the easiest way to do that is to clone the Mercurial repository for CPU Usage. To do this, type this command into a terminal:
hg clone http://boredzo.org/cpuusage/hg CPU-Usage
I provide CPU Usage—the application, and its source code—under a three-clause BSD license. For more information, see the file named LICENSE.txt that comes with it. Additionally, CPU Usage 0.5 and later include code written by other people; each class is in its folder, together with its license agreement. (The only exception is Sparkle, which is not included in the source. I provide instead a shell script to fetch either Sparkle trunk or a specific tag; Sparkle's license is in the resulting checkout.)