Recently, I replaced a disk in my iScsi NAS. Since I wasn’t using any RAID on the disk I was replacing, I decided to copy data from old volume to new using robocopy. As my copy continued in the background, I curiously turned to the performance tab of task manager:
As you may notice in the screenshot above, there was no disk information in the performance tab!
I had a chuckle when I saw that. I remembered by Windows 2000 days and the trusty diskperf command. You can reference diskperf syntax on TechNet at https://technet.microsoft.com/en-us/library/hh875645.aspx.
While the article claims “In Windows 2000, physical and logical disk performance counters are not enabled by default.”, the same applies to Windows Server 2012 R2 and I am sure other Windows Server versions as well for obvious performance reasons. It is also worth noting, as Hans Vredevroot points out on his blog, the performance information on client OS such as Windows 8 is readily available by default.
Anyhow, for my situation, all I had to do was, run diskperf –y from elevated PowerShell (yes I don’t use cmd anymore) and reload task manager. The disk information was visible now and I was able to see disk transfer rate and other relevant information:
It is worth noting that when I ran the diskperf –y, it claimed that the disk performance counters are automatically enabled “on demand”:
Both Logical and Physical Disk Performance counters on this system
are automatically enabled on demand.
Raw counters are also enabled for IOCTL_DISK_PERFORMANCE.
I wonder if that applies only to tools such as perfmon. Certainly the counters had to be explicitly enabled for task manager, so in which conditions are the counters enabled automatically? Something to think about for later…