It has certainly been a good twitter-week with many interesting announcements and discussions (if you're not on twitter, get on twitter). One discussion that stood out was a question about running WinSAT formal being needed for Windows 10 Deployments.
Cred: Thanks to Steven Kister (@StevenKister1) for providing excellent research on the topic.
Background info
WinSAT has been around since Windows Vista to help do performance benchmark of the PC, as well as optimize the system. As a good example, WinSAT will detect if you are using a SSD drive, and for example disable Prefetch if it finds a SSD, along with a few other things. Shorthand: Without the optimizations from WinSAT a PC may not give you the best performance.
Offline Assessment for Windows Desktop – A Bedtime Story
So this is the story of a company having a Microsoft field engineer on-site to perform an "Offline Assessment for Windows Desktop". The focus was mostly on Windows 10 (Enterprise x64 Anniversary Update) although they did also run a few scans against their Windows 7 Enterprise x64 computers.The goal of the assessment was to identify misconfigurations and/or sub-optimal Windows settings based on leanings from Microsoft field engineers. The on-site engineer used Windows Performance Recorder and Analyzer along with custom system scans to collect and report findings.
The engineer asked the company why a particular computer always had high CPU. Low and behold, it was a Microsoft Surface Pro 4 (Core i5, 8GB RAM and 256GB SSD).
Performance graph from a Microsoft Surface Pro 4 in the company.
The engineer then had the company check the ReadyBoot and Prefetch folder locations.
- ReadyBoot traces: C:\windows\Prefetch\ReadyBoot
- Prefetch Layout.ini: C:\windows\Prefetch\Layout.ini
Specifically the engineer had the company open the Prefetch Layout.ini file: C:\windows\Prefetch\Layout.ini. That file had pages and pages of entries whereas his Windows 10 system had only a few lines. He commented that all these entries in my Layout.ini file would indicate the computer didn't discover a SSD as present so it was trying to prefetch as many files as possible during the boot process.
The C:\windows\Prefetch\Layout.ini file.
He then checked the status of the WinSAT scheduled task. The screenshot below was taken after they manually ran the WinSAT command: WinSAT formal (Unfortunately I couldn't get a screenshot showing that WinSAT had never been run previously).
The WinSAT scheduled task on a Windows 10 PC.
Per the assessment it was suggested that the command, WinSAT formal, be run as one of the last steps in the PC build process. The logic being it's when the PC will likely be at it's "best" performance state. The company tended to agree as it's "clean" from end user mucking and playing.
The assessment also called out the following documents:
- Using WinSAT
http://msdn.microsoft.com/en-us/library/bb530740(v=vs.85).aspx - Performance Testing Guide for Windows (Written for Windows 7, but still good info)
http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/Win7Perf.docx
Fixing it
In an upcoming task sequence release, the company will add the command WinSAT formal as one of the last steps of their ConfigMgr 1702 task sequence.
Request for Comment
If you have seen similar issues, please contact me (Johan), you find the contact info below:
/ Johan Arwidmark
is the recommendation to call "winsat formal" at the end of an OSD task sequence still valid today, with Win10 20H2+ / SCCM CB 2010+?
I haven't done this in a while, doubt its still needed