Note: This article originally was publish on TechRepublic on March 24, 2010.
In a previous post, "Take a Closer Look at ReadyBoost Features in Windows 7," I showed you how to set up ReadyBoost and explained how it works. Once you understand how ReadyBoost works and have it configured on your system, you're obviously going to be looking for the promised performance gain. Unfortunately, ReadyBoost isn't like adding rocket fuel to your system, and it's not going to dramatically speed up every task that you regularly perform.
There are some tasks where the performance gain will be evident, and there are others where it will not. In other words, it is very difficult to be plugging away at some task on your system and just feel it kick in and say to yourself "Wow, there goes ReadyBoost! What a rush!"
To see ReadyBoost in action, you're going to have to keep tabs on it with Windows 7's Performance Monitor. In this post, I'll show you how.
This blog post is also available in PDF format in a free TechRepublic download.
A quick review
In a nutshell, ReadyBoost allows Windows 7's SuperFetch cache management technology to use flash-based devices to maintain a copy of the disk cache. Once ReadyBoost is enabled, it essentially keeps tabs on hard disk operations and will go into action reading and delivering files from its copy of the cache only when doing so will boost performance.
For example, during sequential read operations, ReadyBoost will sit back and allow SuperFetch to use the cache on the hard disk since the hard disk can outperform a flash-based drive for these types of read operations. During nonsequential read operations, ReadyBoost will jump in and essentially redirect SuperFetch to use the cache on the flash-based drive since a flash-based drive can outperform a hard disk for these types of read operations.
Furthermore, fast hard disks pushing 7200-RPM or higher will in many cases be able to perform some, but not all, nonsequential read operations faster than a flash-based drive. As such, ReadyBoost won't provide as significant of a performance gain as it would if your hard disk is running 5400-RPM or lower, such as those typically found in laptops. However, even if you have a fast hard disk, there are situations where ReadyBoost can make a big performance contribution. So, don't write off ReadyBoost just yet.
ReadyBoost does NOT equal RAM
And one more thing that I should point out: ReadyBoost does NOT equal RAM. I've heard plenty of people comment "Oh, I have 8 GB of RAM in my system, I don't need ReadyBoost. That's only for systems with 1 GB of RAM." The truth of the matter is that ReadyBoost is about improving hard disk performance, not enhancing or adding RAM to the system.
Sure, a system with only 1 GB of RAM can use all the help it can get, but it is important to keep in mind that with ReadyBoost, the performance gain is coming from improved hard disk performance, not from an addition to RAM.
So, again, even if you have 8 GB or more of RAM, there are situations where ReadyBoost can make a big performance contribution. So, don't write it off.
(I admit that in some of my previous posts about ReadyBoost, I have inadvertently contributed to this confusion, and I apologize.)
Configuring Performance Monitor
As you may know, Performance Monitor is a visualization tool that allows you to view performance data or counters, both in real time and from log files. You can view performance data in graph, histogram, and report form. To help you monitor ReadyBoost, Performance Monitor provides a special set of counters under the heading ReadyBoost Cache. Let's take a closer look.
To launch Performance Monitor, click on the Start button, type perfmon in the Start Search box, and press [Enter]. Once the tool launches, expand the Monitoring Tools branch, if it isn't already, and click on Performance Monitor. When the graph appears, as shown in Figure A, you'll see that in its default configuration, Performance Monitor is configured to monitor Processor Time. Since we won't need this for the task at hand, the first order of business is to click the Red X or Delete Key icon.
Now, click the Green + or Add icon. When you see the Add Counters dialog box, locate and select the ReadyBoost Cache header and click the Add button. When the ReadyBoost Cache header appears in the Added Counters section, as shown in Figure B, click OK.
When the ReadyBoost Cache counter appears in the Added Counters section, click OK.
When you add the ReadyBoost Cache header to Performance Monitor, you are actually adding a set of 10 counters to the monitor, as shown in Figure C. These counters are listed and described here:
- Bytes Cached: The total amount of uncompressed data currently stored in the cache.
- Cache Space Used: The total amount of space currently being used by the cache.
- Compression Ratio: The actual size of the data in the cache divided by the uncompressed size of the data in the cache.
- Total Cache Size Bytes: The total amount of space reserved on the device for the cache.
- Cache Reads/Sec: The number of times data is read from the cache per second.
- Cache Read Bytes/Sec: The number of bytes read from the cache per second.
- Skipped Reads/Sec: The number of read operations skipped per second.
- Skipped Read Bytes/Sec: The number of bytes not read from the cache per second.
- Total Reads/Sec: The number of read operations directed to ReadyBoost. (Includes both satisfied and skipped read operations.)
- Total Read Bytes/Sec: The number of bytes in the read operations directed to ReadyBoost. (Includes both satisfied and skipped read operations.)
When you add the ReadyBoost Cache header to Performance Monitor, you are actually adding a set of 10 counters to the monitor.
As you can see, having 10 counters on the monitor at one time can be a bit confusing. Furthermore, these 10 counters monitor the full spectrum of ReadyBoost's activities and not all of them are pertinent when measuring performance gains. As such, you will want to whittle down the counters to just the ones that give you a good view of what is happening.
For example, what I really want to know is how much the ReadyBoost cache is being used to deliver data, so I chose Cache Reads/Sec and Cache Read Bytes/Sec. These two counters will help you gauge the amount of read activity occurring in the cache and will let you know how much data is being delivered from the cache. To balance this view I also want to know how often ReadyBoost is deferring to the hard disk for reading data from the cache. So, I also chose Skipped Reads/Sec and Skipped Read Bytes/Sec.
I then initiated several large file copy operations involving multiple gigabytes of data and let the monitor run in the background. (I'm using a Western Digital 500 GB SATA drive that pushes 7200 RPM.) When I returned to Performance Monitor, I discovered that there was a lot of activity displayed on the graph, as shown in Figure D.
After several large file copy operations, the Performance Monitor graph displayed a lot of activity.
If you look closely, you'll see that the amount of data being read from the ReadyBoost cache is roughly equal to the amount of data being read from the hard disk cache. However, this is but a snapshot of ReadyBoost in action under a specific operation. To really gauge how much and under what circumstances ReadyBoost is actually benefiting your system, you'll want to configure Performance Monitor to create a log file over a period of time. For instance, you might want to log ReadyBoost activity over a period of a couple hours during which you perform the types of tasks that you regularly use your system to do.
Creating a Data Collector Set
If you want to log ReadyBoost activity over a period of time, you'll need to create a Data Collector Set. Doing so is pretty easy once you know the steps.
To begin, expand Data Collector Sets branch in the Performance Monitor navigation pane. Then, right-click User Defined, select New, and click Data Collector Set. When the Create New Data Collector Set wizard appears, type a name for your Data Collector Set and select the Create Manually option button, as shown in Figure E.
This wizard will walk you through the steps of creating a Data Collector Set.
You'll then select the Performance Counter check box and on the next page use the Add button to access the Add Counters dialog box where you can individually select the four pertinent counters. These steps are condensed in Figure F.
You'll work through the next two steps in the wizard to add the four pertinent counters to your ReadyBoost Monitor Data Collector Set.
Even though there are other settings, click Finish at this point to complete the wizard.
When you return to the Performance Monitor window, you'll see your ReadyBoost Monitor Data Collector Set. When you are ready to begin logging ReadyBoost activity, just click the green Play icon, as shown in Figure G.
To begin logging ReadyBoost activity, just click the Green Play icon.
When you have used your system for what you would consider a substantial amount of time, you can open you Data Collector Set and view the log. Click the Stop icon, and then select Performance Monitor in the navigation pane. Now, click the View Log Data icon and when the Performance Monitor Properties dialog box appears, click the Add button. You can then locate and select your log file, as shown in Figure H.
Click the Add button to locate and select your ReadyBoost Monitor log file.
When you click OK, you'll see your log file and can determine how ReadyBoost behaved during your test period. During my 15-minute sample test, you can see in Figure I that ReadyBoost made a very minimal contribution to the tasks that I was performing.
During this particular test, ReadyBoost made a very minimal contribution.
Remember that you will most likely want to conduct multiple tests under various usage circumstances in order to get a real handle on how much ReadyBoost benefits your particular system. As always, keep in mind that your mileage may vary.
What's your take?
Are you using ReadyBoost? Have you tried monitoring ReadyBoost activity? What were your findings? Are you satisfied with the results? As always, if you have comments or information to share about this topic, please join the discussion thread below.
Greg Shultz is a freelance Technical Writer. Previously, he has worked as Documentation Specialist in the software industry, a Technical Support Specialist in educational industry, and a Technical Journalist in the computer publishing industry.