The journal can get huge over time, slowing machines down a lot. Here’s how to delete it and recreate it for C:, in CMD. The process can cause interference and conflict with Windows internals and applications, though I have not seen this happen so far. On a machine that has been in use a while, it can help a whole lot.
fsutil usn deletejournal /n C: & fsutil usn createjournal C:
Here are quick pastes for D: and E:.
fsutil usn deletejournal /n D: & fsutil usn createjournal D:
fsutil usn deletejournal /n E: & fsutil usn createjournal E:
In 2012R2/8.1 and before, we must be more specific in the creation:
fsutil usn deletejournal /n C: & fsutil usn createjournal m=1000 a=100 C:
fsutil usn deletejournal /n D: & fsutil usn createjournal m=1000 a=100 D:
fsutil usn deletejournal /n E: & fsutil usn createjournal m=1000 a=100 E:
And here’s Powershell, to do it all for every drive letter in the system:
######################################## # Delete and Recreate NTFS USN Journal # ######################################## # This script iterates through all lettered NTFS drives in Windows, # and deletes and recreates the USN Journal of each one. # Considerable performance gain results if the image has been running # for a year or more. # There are slightly different commands between some OS versions. $OSVer = [System.Environment]::OSVersion.Version If ($OSVer.Major -gt 10) { "OS > 10. Create uses short command." $ShortCommand = $True } ElseIf ($OSVer.Major -eq 10) { If ($OSVer.Build -le 14393) { ("OS is 10 build " + $OSVer.Build + ". " + "Create uses long command.") $ShortCommand = $False } Else { "OS is 10, build > 14393. Create uses short command." $ShortCommand = $True } } ElseIf ($OSVer.Major -lt 10) { "OS < 10. Create uses long command." $ShortCommand = $False } Get-CimInstance -Query "Select * FROM Win32_LogicalDisk WHERE DriveType=3" | ForEach-Object { $DriveID = $_.DeviceID If ($DriveID -match "[A-Z]") { "Deleting USN Journal on " + $DriveID + " ..." fsutil usn deletejournal /n $DriveID "Recreating USN Journal on " + $DriveID + " ..." if ($ShortCommand) { fsutil usn createjournal $DriveID } else { fsutil usn createjournal m=1000 a=100 $DriveID } } } # End Script
Reference:
docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-usn