I was able to reduce boot time to 20 seconds using a small Sata SSD. However, boot times vary greatly.
I want to lock all the cache content for boot and use the extra space for other random items.
What are the optimal settings and what is the step by step procedure for this?
(See attached screenshot of my current settings)
Thanks in advance!
Reduce Boot Time - How to Lock Cache Content
Reduce Boot Time - How to Lock Cache Content
- Attachments
-
- screenshot.PNG (17.26 KiB) Viewed 3286 times
Re: Reduce Boot Time - How to Lock Cache Content
The example on this linked page is for a slightly older version of Primocache, but it still works. Unfortunately I don't think there is a way to lock the L2 cache, only the L1 cache:
You'll notice the "Lock Cache Content" on your screenshot is greyed out, since it's a subset feature of "Prefetch Last Cache" which is a L1 function to reload contents back into RAM at boot time. Even the Command Line Interface for Primocache (rxpcc.exe) doesn't have a command for locking the L1/L2.
However - the Primocache Configuration Terms page says this about locking the cache content:
Based on what I know about how Primocache works - the more often blocks (files) are accessed, the higher their priority in the cache for retention. That means if you reboot often (2-3 times a day), those files used at boot will be assigned higher priority than most other files, and stay higher. Additionally, set the L2 to "Read Only" strategy so that files written to the drives skip the cache completely (most Windows boot files are just read, never written).
The real solution however would be to give your Cache Task a real L1 cache with enough space to hold all the boot files, and populate that with several reboots, then lock it.
You'll notice the "Lock Cache Content" on your screenshot is greyed out, since it's a subset feature of "Prefetch Last Cache" which is a L1 function to reload contents back into RAM at boot time. Even the Command Line Interface for Primocache (rxpcc.exe) doesn't have a command for locking the L1/L2.
However - the Primocache Configuration Terms page says this about locking the cache content:
Based on it using the word "prefetched" you can see it applies only to the L1 cache, since the L2 doesn't ever need prefetching.Lock Cache Content: The cache content to be prefetched is locked to the content of last Windows run and won't be varied on next Windows runs. This option is usually enabled when you see that last Windows run has a good cache hit rate and want to keep this cache content for prefetchig on next Windows runs.
Based on what I know about how Primocache works - the more often blocks (files) are accessed, the higher their priority in the cache for retention. That means if you reboot often (2-3 times a day), those files used at boot will be assigned higher priority than most other files, and stay higher. Additionally, set the L2 to "Read Only" strategy so that files written to the drives skip the cache completely (most Windows boot files are just read, never written).
The real solution however would be to give your Cache Task a real L1 cache with enough space to hold all the boot files, and populate that with several reboots, then lock it.
Re: Reduce Boot Time - How to Lock Cache Content
As Jaga said, Prefetch is only a subset feature for L1 cache. L2 cache doesn't need it because L2 cache content is persistent.
It is recommended that you assign some memory for L1 cache, this will also help on reducing boot time. You may also check your drive file system cluster size and set same size for the cache block size if it does not require much memory overhead.
With L1 cache, you may also apply defer-write to Windows OS and software partitions if these partitions are well backed-up. Defer-write can improve disk writing performance a lot and also will help in Windows boot phase. Redirect personal folders in Windows OS/software partition to other partitions, then Windows OS/software partition will not contain any personal data and then it's quite safe to use Defer-Write for them. You can easily restore these partitions without the loss of personal data in case of a sudden power outage, system bsod or freeze.
And regarding L2 cache, after you boot up and logon your Windows, you may leave Windows idle for about 30-60 seconds for PrimoCache start populating boot data to L2 cache (PrimoCache populate L2 cache when computer is idle). If the PrimoCache GUI application is open, you shall see "L2Storage Write" value is increasing. After next boot, usually the cache hit rate will be 90%~98% (for the boot phase).
It is recommended that you assign some memory for L1 cache, this will also help on reducing boot time. You may also check your drive file system cluster size and set same size for the cache block size if it does not require much memory overhead.
With L1 cache, you may also apply defer-write to Windows OS and software partitions if these partitions are well backed-up. Defer-write can improve disk writing performance a lot and also will help in Windows boot phase. Redirect personal folders in Windows OS/software partition to other partitions, then Windows OS/software partition will not contain any personal data and then it's quite safe to use Defer-Write for them. You can easily restore these partitions without the loss of personal data in case of a sudden power outage, system bsod or freeze.
And regarding L2 cache, after you boot up and logon your Windows, you may leave Windows idle for about 30-60 seconds for PrimoCache start populating boot data to L2 cache (PrimoCache populate L2 cache when computer is idle). If the PrimoCache GUI application is open, you shall see "L2Storage Write" value is increasing. After next boot, usually the cache hit rate will be 90%~98% (for the boot phase).
Re: Reduce Boot Time - How to Lock Cache Content
Thank you for the help Jaga & Support! Your detailed help are greatly appreciated!