Small Optimization Script

Getting into a loop (?)

No just performing multiple actions :stuck_out_tongue:

I’am not quiet sure if it’s a good idea to disable SuperFetch because bassicly the ram gets full very quick and then the data must be stored on the SD card + read from the SD card.

With SuperFetch the cpu is bassicly compress the data in the ram (I have zero harddrive workload so it can’t be the drive).

BUT it’s cpu intensive I switched it off and I have 1-3 cpu usage, with feature enabled its constantly 7-11 percent + if you do something it goes up to 60-80% where normally it’s only 20-40%

So yeah hmmmm

You don’t seem to know what superfetch is actually doing :stuck_out_tongue:
By disabling it you’re getting lower ram, disk, and CPU usage

Yes it also works on x86…
I was trying and failing to upgrade a 1GB touch tablet to version 1903 . Just tried the script this morning and everything went on smoothly.
Thanks .

no not on my Pi its actually the opposite if i deactivate superfetcg the ram goes over 90 % and i only have like 4-5 programs open.

if you google superfetch its actually the memory conpress system and thats exactly what it does on my pi.

disabled i have 0% compressed memory, activated i have 100-200 MBs compressed like it should.

Memory compression is separately enabled in the script

I didnt use the script yet but then superfetch is activated? Because thats where Win 10 uses the compression.

Edit: I looked in the script:

“Enables application launch prefetching, operation recorder API functionality, page combining, and application prelaunch.”

Prefetching is a part of Superfetch so bassicly it enables it with that command.

See here:

"To manage SuperFetch via the registry key enter ‘regedit’ into the Run box to open the registry editor. BE VERY CERTAIN THAT YOU KNOW WHAT YOU’RE DOING WITH THE REGISTRY EDITOR! Navigate to the key HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters and add a DWORD (32 bit) value called ‘EnableSuperfetch’ (if it doesn’t already exist), give it one of the following values:

0 - To disable all SuperFetch functions
1 - To enable SuperFetch only for applications
2 - To enable SuperFetch only for booting
3 - To enable SuperFetch for everything"

Prefetch and superfetch are separate within windows, inside the script superfetch gets disabled, while renabling memory compression and keeping prefetch enabled.
Did you o your tests on a PC or on the PI? On the PI disabling superfetch is super important because it preloads apps windows thinks you want to use, which then fillds your ram and it also maxes out the disk usage as the SD card performance is quite slow.

edit: I encourage you boot up your PI, open CMD as admin, and run this then reboot and let me know what the results are for you:

sc config "SysMain" start= disabled
sc stop "SysMain"
powershell -command Enable-MMAgent -MemoryCompression

I’am on Version 1803 and if i disable Superfetch the ram goes up to 100 % and i have heavy load on the SD card (because he must write the data to the disc).

With Superfetch the whole system runs better, has it something to do with how many Apps are opened? I actually have only 3 Apps open because the Pi just do backups from my FTP.

Its strange because if i disable Superfetch the whole system gets slowed down because the RAM is completly full and i also tried that over powershell it activates Superfetch.

On which version are you? Maybe they changed something in the newer versions.

Bassicly when i disable Superfetch and then typ in the command above in the powershell and look then Superfetch is back to “Automatic”.

So it seems like in 1803 its definitly the same process.

Edit:
https://news.softpedia.com/news/how-to-disable-superfetch-sysmain-in-windows-10-version-1809-523185.shtml

I think iam right, it was renamed in 1809 to SysMain thats why i got no replay in the powershell for the first commands (because iam on 1803) only for the third one which just enabled Superfetch, now it makes sense.

Edit2: Ok i looked it up there is no “SysMain” Process at all so yeah seems like thats why its not working like it should.

"Are you sure (Y/[N])?Y
Disabling automatic app updates

ERROR: Invalid syntax.
Type “REG ADD /?” for usage.
Disabling Hibernation to free up extra disk space

ERROR: The process “OneDrive.exe” not found."

That is copied from WoA screen ( on Raspberry pi3).

Onedrive error can be ignored, other one I don’t care enough to fix :stuck_out_tongue:

Update your system and the script will be fine then :stuck_out_tongue:

I found that this line knocks out the Wifi so should be removed:
ECHO ^> WlanSvc set to DEMAND & sc config WlanSvc start=demand >NUL 2>&1

Hi Gilius, I commented out that line for the moment

These ones disabled auto-rotation - needed for the Lumia 950/XL - but not much use for the Raspberry Pi:
ECHO ^> SensrSvc set to DISABLED & sc config SensrSvc start=disabled >NUL 2>&1
ECHO ^> SensorService set to DISABLED & sc config SensorService start=disabled >NUL 2>&1

1 Like

Those will be set back to auto with the next release, thank you!

Latest version has had a lot of redundant commands removed, as well as a couple of options modified.
Auto rotating should still work once again, and some security and performance improvements should also be noticeable!