Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] - SysMain/SuperFetch in Atlas #1093

Open
Evonos opened this issue May 1, 2024 · 12 comments
Open

[FEATURE] - SysMain/SuperFetch in Atlas #1093

Evonos opened this issue May 1, 2024 · 12 comments
Labels
enhancement New feature or request fixed next release Where next release will have the issue fixed workaround avaliable Where a temporary workaround/fix is available for an issue

Comments

@Evonos
Copy link

Evonos commented May 1, 2024

What is your feature request regarding to?

Atlas Playbook

Is your feature request related to a problem? Please describe.

No issue ( if you dont consider slower loading and making the OS less "smart" at managing ram not an issue )

Describe the solution you would like.

Sysmain as Optional setting to be enabled during install , or maybe even enable it anyway.

Describe alternatives you have considered.

None , its kinda a smart feature any OS does ( Ios , Linux , Android and windows with it enabled too )

Additional context.

Sysmain is "Prefetching" data into empty ram , theres no latency or performance issues because windows leaves allways a certain % Zeroed ( Entirely empty ) even on a NVME with 2 gb DRAM prefetching is still beneficial Example screenshots why Prefetching is beneficial ( Screens of Ram map ) after boot. like of my 32gb RAM 17 are in use , 14 in Standby and roughly 1gb entirely free ( Zeroed )
2024-05-01_14-52

a Likely much better read for than my text already hugely explained
https://new.reddit.com/r/computers/comments/c8iq9o/dont_disable_sysmain_previously_known_as/

Also Empty ram is wasted ram and Atlas OS shouldnt disable things ( or maybe make a switch for Max disabling and Preferred disabling) which Improves performance / quality of the OS

Luckily you can simply enable the Sysmain service and its already set to "3" in registry and starts working.

@Evonos Evonos added the enhancement New feature or request label May 1, 2024
@he3als
Copy link
Contributor

he3als commented May 3, 2024

I agree. Unless there's a proven problem with SuperFetch on SSDs, I don't think it should be disabled. Microsoft also doesn't recommend the service to be disabled for desktop users.

@Evonos Evonos changed the title [FEATURE] - Sysmain Optionally Enabling during install. [FEATURE] - Sysmain shouldnt be Deactivated or atleast be a setting to leave it enabled during install. ( No gains to be had to disable it ) May 4, 2024
@Evonos
Copy link
Author

Evonos commented May 6, 2024

Okay maybe actually buggy , Sysmain is running and prefetch set to 3 , yet it stopped working and preloading stuff into ram weirdly. not sure why yet maybe a task was disabled or something related to sysmain or a needed service.

@he3als he3als added the planned To be done in future. label May 7, 2024
@he3als he3als changed the title [FEATURE] - Sysmain shouldnt be Deactivated or atleast be a setting to leave it enabled during install. ( No gains to be had to disable it ) [FEATURE] - Keep SysMain enabled as it's likely useful for responsiveness May 27, 2024
@Xyueta
Copy link
Member

Xyueta commented May 31, 2024

SysMain will be enabled by default and left for the user's choice in the Atlas Configuration folder since the next release.

Okay maybe actually buggy , Sysmain is running and prefetch set to 3 , yet it stopped working and preloading stuff into ram weirdly. not sure why yet maybe a task was disabled or something related to sysmain or a needed service.

Just to note, SysMain is a very poorly-described option/feature of Windows, so it is hard to research it.

Thanks.

@Xyueta Xyueta closed this as completed May 31, 2024
@he3als
Copy link
Contributor

he3als commented Jun 1, 2024

I'm going to re-open this as I think it's best to keep issues open until there's a new release for transparency with users.

@he3als he3als reopened this Jun 1, 2024
@he3als he3als added fixed next release Where next release will have the issue fixed and removed planned To be done in future. labels Jun 1, 2024
@NoelJacob
Copy link

How to temporarily enable it before installing the latest playbook?

@he3als

This comment has been minimized.

@he3als he3als added the workaround avaliable Where a temporary workaround/fix is available for an issue label Jun 12, 2024
@Evonos

This comment has been minimized.

@Xyueta

This comment has been minimized.

@he3als he3als moved this to Fixed for next release in Atlas Playbook Jul 4, 2024
@he3als
Copy link
Contributor

he3als commented Jul 4, 2024

If you want to re-enable SysMain:

  1. Go to https://raw.githubusercontent.com/Atlas-OS/Atlas/main/src/playbook/Executables/AtlasDesktop/6.%20Advanced%20Configuration/Services/Superfetch/Enable%20SuperFetch%20(default).cmd
  2. On the page, right-click and click 'Save as'
  3. If not already a .cmd file on download, rename it in File Explorer to have a .cmd extension
  4. Run the script
  5. Restart your computer

@Protator906
Copy link

Pls, should you decide to re-enable SysMain in 0.5, and I hope you wont, at least make it an option, not the default.
Its absence is part of why 0.4 runs so well.

"[..] as it's likely useful for responsiveness"
Negatory, ghostrider. The feature was outdated by years already when MS implemented it.
Your computer has an SSD boot drive? Then you don't need it.
All it does is collect user data about which software you run and when, under the pretense of 'prefetching' data on time to speed up program launch. People have discussed the feature's usefulness and tested their system with it enabled and disabled to the moon and back.
It's useless on a system less than 15 years old.
SysMain's other features are just as amazing. Like memory compression. It can be useful on systems with very little ram, like an old thinclient with 4GB. Otherwise it's useless and just another feature that wastes clockcycles. Because it's broken.
Memory management as a whole has been broken for ages. My workstations all have between 64 and 256GB of RAM.
Most of the time 90+% of the memory is free and available. Nothing allocated for stuff in the background etc..
Yet somehow SysMain thinks it's a good idea to compress part of the memory.
I doubt that needlessly compressing and decompressing data will increase a system's responsiveness.
It's on the same level as W7/10/11's management of virtual memory. The more physical memory you have installed, the bigger the automatically generated pagefile. People have been complaining about that nonsensical default behavior for two decades now ... have they bothered to fix it? Nope.
So to assume a feature is actually useful simply because MS says so ... ^^

@he3als
Copy link
Contributor

he3als commented Oct 9, 2024

Fixed in release v0.4.1. See the release for more info on what v0.4 users can do.

@respberryx
Copy link

The idea that enabling SysMain is a must for performance improvements is just not true, especially in modern setups. SysMain's job is to "preload" frequently used apps into RAM, but this was meant for systems running on HDDs. With SSDs, where access speeds are already extremely fast, this prefetching barely adds anything and can sometimes create more problems than it solves.

There are cases where "SysMain causes high disk and CPU usage," which leads to performance hits rather than improvements, especially on systems with SSDs. Microsoft itself know that there are issues with SysMain, stating that it may "cause high CPU usage on 64-bit apps"​. If you read some more, even Microsoft said that some apps that used /LARGEADDRESSAWARE:NO while compiling will make CPU usage to spike up to 100% every 1-2 minutes in-definitely. High disk usage spikes due to SysMain are also a well-documented issue, especially with systems that have older hardware or limited resources​.

Claiming "empty RAM is wasted RAM" oversimplifies modern memory management. Windows doesn’t just leave RAM empty; it manages what’s in RAM based on actual usage patterns. Not every system benefits from SysMain's behavior, and disabling it can often lead to a more responsive experience, particularly on faster storage setups. @Xyueta

@Xyueta Xyueta reopened this Oct 19, 2024
@Xyueta Xyueta changed the title [FEATURE] - Keep SysMain enabled as it's likely useful for responsiveness [FEATURE] - SysMain/SuperFetch in Atlas Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request fixed next release Where next release will have the issue fixed workaround avaliable Where a temporary workaround/fix is available for an issue
Projects
Status: Fixed for next release
Development

No branches or pull requests

6 participants