Written by Topher Kessler
I recently wrote a small guide to Activity Monitor, which looked at the statistics and system details that Activity Monitor tracks. While Apple's approach to an all-in-one interface for managing system processes will work for many people, it is not the best by far. For one, it lacks some commonly used features, such as temperature monitoring, that along with system process monitoring tell you the state of hardware in your system. There are a variety of monitoring programs out there, but a relatively new one that has come to my attention is atMonitor: a freeware utility that includes many features not found in Activity Monitor.
I spent the weekend using this application on my 17-inch Unibody MacBook Pro (2.66GHz, 4GB RAM, running OS X 10.5.7), and figured I'd write a small review of the program.
Installation and Updating
atMonitor is distributed in a zip archive as a standalone application, so there is no installation process. After dragging it to the Applications folder, it launches and runs in the Dock like any standard cocoa application, and by default will display the "Activity Viewer" window that will sit on top of other applications. The program takes very little system resources to run, and although the program interface itself takes up about the same percentage of the CPU as Activity Monitor, the difference is that the underlying process for reporting system statistics takes up barely more than a percentage of CPU, whereas the pmTool process for Activity Monitor takes an average of 6 percent CPU. Granted this will be different for other computers, but it was the case on my MacBook. If you increase the size of the "Activity Viewer" window, the program will use more CPU, but for all practical purposes the impact on the system is negligible, which makes this program good at running in the background.
atMonitor has three interfaces: a floating window, a menu viewer, and a process viewer, each of which can be run independently. The floating window is the "Activity Viewer" window, where you can set up graphs and charts for system hardware usage. This window shows colorful graphs on a translucent gray background, and is highly customizable in the application's preferences. You can change the font size, the scan frequency, output colors, and what statistic are monitored in this window. Additionally, the window supports dynamic orientation changes, so if you resize it to have a landscape aspect ratio, the default vertical view will change to a horizontal one. A convenient feature of the floating window is that it integrates well with Expose and Spaces. If you activate Expose it will fade out, but if you change desktops with Spaces it will follow you to the new desktop. This behavior can be changed so the window stays in one space by going to the "Activity Viewer Window" submenu in the "View" menu and selecting the option to "Display in Current Space Only."
The Menubar monitor is just as detailed as the floating window, except that it is limited to the menu bar. However, it does have one very convenient feature that the floating Activity Viewer window is missing (see my note below), and that is quick access to the stats of the topmost programs in each category. As such, you can click the "RAM" section of the menu viewer, and see the three programs that are using the most RAM in the system. The disks and network menu sections will also show more information about drive usage and IP addresses, respectively.
NOTE: While this may appear to be missing in the Activity Viewer, the developer informed me the option is available if you "click and hold" the respective section of the Activity Viewer window.
What is monitored?
There are three types of information that atMonitor looks up: Live Statistics, System Information, and Process Information. The live statistics monitor CPU usage, disk and network I/O, and RAM usage just like Activity Monitor, but in addition, it monitors temperature of the CPU as well as the graphics processor (GPU) usage, temperature, and Video RAM (VRAM) usage. These are convenient for ensuring you are not overheating your system or using up video resources for games and technical or creative professional applications. Right now I know that at idle usages my GPU should run at around 54°C, so if I am suddenly seeing this temperature up at around 65°C I can check to see what processes may be using the GPU. It will be interesting to see how this changes when Snow Leopard comes out and applications start to take advantage of OpenCL.
For obtaining system information, atMonitor runs profiling commands that are built into OS X, and will give you information on installed extensions, I/O kit registry, kernel state, system logs, network connections and interfaces, system profiler, SMC sensor status, and startup daemons and services. These are convenient for viewing the running environment of the system, and while they can be accessed through the command line or other applications such as System Profiler, they are convenient to have in one place. Despite their convenience, the SMC sensor data seems to be too cryptic for much use by anyone but hardware developers. These information windows can be opened and quickly refreshed, which is convenient when you would like to see how changes to your system are reflected in the software.
The last monitor window tracks active process information, and can send signals to running processes (kill, terminate, hang up, pause, suspend, etc.) just like Activity Monitor; however, in there are some convenient additions. For one, you can select a process and quickly "renice" it with a slider control. This will change its priority with respect to other processes, which can be convenient when you have a continuous task running in the background that may be causing other processes to pause. For instance, the "mdworker" process for indexing hard drives can take a while to run, and by default it is given a low priority over others; however, you can change it to be even lower, or give a current process a higher priority in order to smooth things out. Remember that renicing a process will usually only smooth computations out (i.e., keeping a movie running smoothly), and will not necessarily make things faster (i.e., games or media encoding).
In addition to changing process priority, you can view more information about a specific process than what Activity Monitor shows. atMonitor will show the process ID, Paths, parent process information, process descriptions (if available), application arguments and environments, system libraries used, and opened files the application is accessing. While many of these items will only be useful to technicians and programmers, they can show exactly what resources a process is using and can help narrow down potential sources for conflict.
Lastly, for any given process, if there is a Unix manual page (man page) available, you can quickly load it as a PDF in preview, by selecting it and clicking "view man page" at the top of the process viewer window.
In addition to process-specific resources, atMonitor has a few other useful features. One is live-logging of system status, where you can take sequential snapshots of system resource usage every second or so (depending on settings). With this feature, you can start logging and then perform some task, such as playing a game, and then stop logging when you quit that task to be able to see how the system resources were used during that task. This can be exceptionally convenient to developers, and if you have the developer tools installed, the "Utilities" menu in atMonitor will show some of the useful applications that Apple includes, such as Shark, Instruments, and OpenGL Monitor.
Lastly, atMonitor has script triggers, which will run a selected script if any statistic crosses a set threshold for a given amount of time. This is one of the most useful features in atMonitor, since it will only start up a script if a threshold has surely been crossed, and not if there is a small spike in one of the readings. With Applescripts and Automator workflows, you can set up warnings and automatic sleeps if your system gets too hot, for instance.
When compared with Activity Monitor, atMonitor gives you more customization so you can tailor the readings to your liking, and allows you to view more about an individual process than what's available in Activity Monitor. Activity Monitor can sample a process, and give you a readout of the RAM organization for a particular process, however, overall the information provided by atMonitor is geared more toward live system monitoring and the tailoring of process management, rather than just snapshots of system usage.
atMonitor is a work in progress, and while it contains many useful utilities, there are some features that are not included that you can find in other third-party system monitoring utilities. The first is disk temperatures and other temperature sensors on the system. One major source of hard-drive failure is overheating, and knowing under what circumstances a drive is generating a lot of heat can be useful. Coupled with the script triggers, this could help keep drives from failing. Other sensors that could be monitored are fan speed, voltages and battery health, power usage, and the ambient light sensors in the system.
That being said, even though there is room for growth, atMonitor is very good at what it currently does, and after a few days of use has become a permanent member of my troubleshooting utilities arsenal. Best of all, it's free! Download it from the developer's Web site: http://www.atpurpose.com/atMonitor/
Topher has been an avid Mac user for the past 10-15 years, and has been a contributing author to MacFixIt for just over a year now. One of his diehard passions has been troubleshooting Mac problems and making the best use of Macs and Apple hardware both for family and friends, as well as in the workplace. He and the newly formed MacFixIt team are hoping to bring enhanced and more personable content to our readers, and keep the MacFixIt community going here at CNET. If you have questions or comments for Topher or the other MacFixIt editors, feel free to contact us at http://www.macfixit.com/contactResources