A good thing to do, is to do cleanup/improvement steps, and then restart related services:
VSS Writer |
Service, Short ID & Binary |
Service, Long Name |
ASR Writer |
VSS |
Volume Shadow Copy |
BITS Writer |
BITS |
Background Intelligent Transfer Service |
COM+ REGDB Writer |
VSS |
Volume Shadow Copy |
DFS Replication Service Writer |
DFSR |
DFS Replication |
DHCP Jet Writer |
DHCPServer |
DHCP Server |
FRS Writer |
NtFrs |
File Replication |
FRSM Writer |
srmsvc |
File Server Resource Manager |
IIS Config Writer |
AppHostSvc |
Application Host Helper Service |
IIS Metabase Writer |
IISADMIN |
IIS Admin Service |
Microsoft Exchange Replica Writer |
MSExchangeRepl |
Microsoft Exchange Replication Service |
Microsoft Exchange Writer |
MSExchangeIS |
Microsoft Exchange Information Store |
Microsoft Hyper-V VSS Writer |
vmms |
Hyper-V Virtual Machine Management |
MSMQ Writer |
MSMQ |
Message Queuing |
MSSearch Service Writer |
WSearch |
Windows Search |
NTDS |
NTDS |
Active Directory Domain Services |
O_Search VSS Writer |
OSearch |
Office SharePoint Server Search |
O_Search 14 VSS Writer |
OSearch14 |
SharePoint Server Search 14 |
Registry Writer |
VSS |
Volume Shadow Copy |
Shadow Copy Optimization Writer |
VSS |
Volume Shadow Copy |
SMS Writer |
SMSSITEVSSWRITER |
SMS_SITE_VSS_WRITER |
SPSearch VSS Writer |
SPSearch |
Windows SharePoint Services Search |
SPSearch4 VSS Writer |
SPSearch4 |
SharePoint Foundation Search V4 |
SqlServerWriter |
SQLWriter |
SQL Server VSS Writer |
System Writer |
CryptSvc |
Cryptographic Services |
TermServLicensing |
TermServLicensing |
Remote Desktop Licensing |
WIDWriter |
WIDWriter |
Windows Internal Database VSS Writer |
WINS Jet Writer |
WINS |
Windows Internet Name Service (WINS) |
WMI Writer |
Winmgmt |
Windows Management Instrumentation |
These steps can improve Windows performance a whole lot. It works because a vast array of different applications and services in Windows utilize VSS on their backends. All of the below, except for one server-only step sometimes needed, is encapsulated in PowerShell script (3.0 and up) OVSS.ps1 , part of the windows-tools project.
To do the VSS optimization interactively, start an administrative CMD, and then…
Step 1:
vssadmin Delete Shadows /All
If there are orphan shadows, you will be asked whether you want to delete them. If there are and you delete them, you will see immediate performance benefit. Reportedly, Windows autodeletes them only after there are 64 per volume. We prefer to see zero! These build up as a result of bad shutdowns, drive and drive controller issues, and insufficient RAID resources to serve demands.
Step 2:
We now improve any existing preassociation of disk space for VSS. On some machines, this will increase performance very impressively, immediately. In general it keeps them smooth and stable and prevents hesitations. This does not reserve or take up the space, it just “associates” it, makes it ready for use, so that whenever Windows wants to do any of the bajillions of things it does with VSS, things ranging from tiny to enormous, it can skip that step.
It is worthwhile to know that C: on all workstation installs and many server installs, has a minimal preassociation already set up. And we should check to see if it has been done. So the first step is to check it. Do the below:
vssadmin list shadowstorage
If it gives you something like this:
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.
Shadow Copy Storage association
For volume: (\\?\Volume{84214e3c-0000-0000-0000-100000000000}\)\\?\Volume{84214e3c-0000-0000-0000-100000000000}\
Shadow Copy Storage volume: (\\?\Volume{84214e3c-0000-0000-0000-100000000000}\)\\?\Volume{84214e3c-0000-0000-0000-100000000000}\
Used Shadow Copy Storage space: 0 bytes (0%)
Allocated Shadow Copy Storage space: 0 bytes (0%)
Maximum Shadow Copy Storage space: 100 MB (20%)
Shadow Copy Storage association
For volume: (C:)\\?\Volume{84214e3c-0000-0000-0000-501f00000000}\
Shadow Copy Storage volume: (C:)\\?\Volume{84214e3c-0000-0000-0000-501f00000000}\
Used Shadow Copy Storage space: 0 bytes (0%)
Allocated Shadow Copy Storage space: 0 bytes (0%)
Maximum Shadow Copy Storage space: 373 GB (20%)
where “Maximum Shadow Copy Storage space: “ for each volume is set to 20%, the rest has been done, you are fully optimized. Otherwise, if this is a desktop OS, we resize the existing association for each volume. For volumes without letters, and to pull a list of all VSS-ready volumes, see the note towards the end of this document.
So for the C drive, do the below in administrative CMD:
vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=20%
Do repeat for any other active hard drive partitions, D:, E:, et cetera. Don’t worry if you get an error, the next step covers it.
Step 3:
It may well throw an error, saying there is no such association. If this is a workstation OS, vssadmin lacks two commands which we need for any further steps, so in that case we are done. But on any Windows Server OS from 2008R2, if the error was thrown, we do an Add:
vssadmin Add ShadowStorage /For=E: /On=E: /MaxSize=20%
Step 4:
And finally (server only), one more thing which can help if, for instance, C: is almost full but E: has plenty of space:
vssadmin Delete ShadowStorage /For=C: /On=C:
vssadmin Add ShadowStorage /For=C: /On=E: /MaxSize=20%
This maximizes overall performance, and also prevents possible backup failures and other issues due to insufficient disk space on C:.
Note:
On some machines, the volumes do not have letters. For these you will need to use the volume GUID path. In vssadmin list shadowstorage
, they look like this:
Shadow Copy Storage association
For volume: (\\?\Volume{99ac05c7-c06b-11e0-b883-806e6f6e6963}\)\\?\Volume{99a
c05c7-c06b-11e0-b883-806e6f6e6963}\
Shadow Copy Storage volume: (\\?\Volume{99ac05c7-c06b-11e0-b883-806e6f6e6963}
\)\\?\Volume{99ac05c7-c06b-11e0-b883-806e6f6e6963}\
Used Shadow Copy Storage space: 0 B (0%)
Allocated Shadow Copy Storage space: 0 B (0%)
Maximum Shadow Copy Storage space: 32 MB (32%)
For such a situation, substitute \\?\Volume{99ac05c8-c06b-11e0-b883-806e6f6e6963}
(the whole long string) for C:
in the above command lines.
PowerShell will give GUI paths for all volumes thusly:
GWMI -namespace root\cimv2 -class win32_volume
References are here:
https://technet.microsoft.com/en-us/library/cc788050.aspx
https://www.storagecraft.com/support/kb/article/289
http://backupchain.com/i/how-to-delete-all-vss-shadows-and-orphaned-shadows
http://www.tech-no.org/?p=898
‘vssadmin delete shadows /all’ gets a lot of gunk out, but DevNodeClean:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=42286
eliminates related registry entries, including Device Manager grayed-out items, for even more improvement. This has existed for a while, but not available in public download very long.
Windows Backup on Server 2008, is very different than previous backup tools provided by Microsoft. It is block-level, meaning that it handles only whole volumes (drives) at once. But it works very well, it has much lower impact on resources. It uses VSS as its basis.
Data difficult to identify, but useful for setting up monitoring, follow.
Service name: Block Level Backup Engine Service
Executable (on 32-bit, default): “C:\Windows\system32\wbengine.exe”
Command-line utility (runs from elevated CMD): wbadmin