A little over a year ago, I covered two of my favorite utilities for Mac OS X, WhatSize ( ) and GrandPerspective ( ). Both are designed to help you figure out where all your disk space has gone; however, they do so in very different ways: GrandPerspective provides a visual representation of every file on your drive (or in a particular folder) at once, making it easy to see which files, and which groups of similar files, are taking up the most space; WhatSize gives you a columnar list of files and directories sorted by size, making it better for quickly traversing your hard drive’s contents to find the biggest—literally—offenders.
Since then I’ve discovered another good solution to the “Where did all my drive space go?” dilemma, JDiskReport 1.3.0 ( ; free), which offers a bit of the visual appeal of GrandPerspective along with the folder-by-folder navigation of WhatSize.
Launch JDiskReport and, after agreeing to the software license, you’ll be asked if you want to scan a particular volume or folder, scan your boot volume (/, your main hard drive), or open a previously-saved scan (a nice feature of JDiskReport is the ability to save a scan for later viewing; the scan lists the file sizes and distribution at the time you saved it, rather than a “live” listing).
How long the process of scanning your entire hard drive takes depends on the drive; scanning my 320GB boot drive, containing approximately 262GB of data across nearly 900,000 files, took about 4 minutes. When the scan is done, you’ll see a window listing the folders at the root level of your drive—assuming that’s what you chose to scan—on the left, and a graphical breakdown of the largest of those folders on the right; the default view is a pie chart. Click on any folder name, or on any slice of the pie chart, to switch the view to that folder. You can continue this process to dive down into the biggest folders on your drive and find the individual files and folders taking up the most space.
(You can sort the file list on the left by name, total folder/file size, or number of files contained; you can also choose to list files and folders or folders only. Note that if you choose to view by the number of files contained, JDiskReport’s graphical display will change accordingly, with folders containing more files represented by larger slices of the pie chart than folders containing fewer files, regardless of the relative sizes of those folders.)
If this were the extent of JDiskReport’s functionality, it wouldn’t be much more than a graphical version of WhatSize. But JDiskReport includes a number of useful options. For example, you aren’t limited to a pie chart; you can also view each directory as an expanded pie chart, a bar chart, or a detailed table; here are examples of each for a home directory:
Although I don’t find the expanded pie chart to be very readable, I like the bar chart view, both because it provides a sorted-by-size graphical view of each folder, and because it includes many smaller items omitted—for the purposes of easier reading—from the pie chart. The table view is also useful, as it lets you see a WhatSize-like list of files in a particular folder, sorted by size or number of enclosed files.
Another useful set of options can be accessed via buttons just above the report area. Top 50 displays a list of the 50 largest files in the current folder or, alternatively, the 50 most-recently- or least-recently-modified files. Size Dist displays—using whatever view option you’ve chosen (pie chart, bar chart, or table)—the size distribution of files in the current folder; in other words, what proportion of space used is from files larger than 1GB, between 256MB and 1GB, and so on, all the way down to less-than-1KB.
Modified displays the proportion of spaced used by the current folder due to files modified today, yesterday, 1 to 7 days ago, and so on, all the way to “Over 10 years.” Unfortunately, this view isn’t as useful as it could be, because there’s no way to figure out which files belong in which category—so, for example, you can’t easily get rid of those 10-year-old files. Finally, Types shows a breakdown of files by file type. But, again, there’s no way to directly access any of those files; for example, if you see that .aif files are taking up 2GB of space in your home directory, it would be useful to be able to view a list of those files to decide if there are any you can get rid of.
In any view, right-clicking (or Control-clicking) gives you the option to copy the current chart or table data, in tab-delimited format, to the clipboard for pasting in a spreadsheet or other document.
Although I like JDiskReport’s many options, it does have a number of limitations. I mentioned above the inability to view which files are included in particular categories. Similarly, you can’t delete a file or folder from within JDiskReport, or even reveal that item in the Finder; you have to manually navigate to the file in the Finder. Also, unlike WhatSize, JDiskReport doesn’t scan files in other users’ home directories unless you launch JDiskReport with root privileges (for example, by using a utility such as Pseudo ). Finally, JDiskReport is written in Java; although this means it’s completely cross-platform, it also means it works as well as most Java apps—which is to say not as well as native Mac OS X applications. In my testing, JDiskReport used quite a bit of memory and was slower than WhatSize, and it unexpectedly quit once. And despite its OS-X-like windows, JDiskReport still has elements—for example, ugly toolbar buttons and contextual menus—that expose its Java roots.
JDiskReport 1.3.0 requires Java; Mac OS X 10.4 (Tiger) users can get the latest version of Java here.