Quite some time ago, SIMP introduced the concept of dynamic swappiness to help prevent system lockout due to too much RAM being used by applications and would also allow for maximum performance where possible by setting the swappiness to a low number when enough RAM was free.
However, this isn't well exposed to users and those that are trying to specifically use database applications may find it surprising when the system swappiness jumps around on them during standard usage.
To remedy this, I propose the following:
We should set `swappiness` to `30` since that is the usual system default and won't cause issues for folks that just change swap::dynamic_script to false.
We should document what this is, why it exists, and what to do with it in the SIMP documentation since it is out of the ordinary. Keywords should be added such as database, oracle, etc... to ensure that users find the appropriate section quickly.
We should allow users to specify an actual number for the memory limits instead of a percentage. As systems get larger, even 1% of 1TB of RAM isn't enough to cause a swap change. I would suggest allowing <NUMBER> being Megabytes and <NUMBER>G,T,P also being allowed for ease of use.
We should NOT disable the dynamic script and go to static by default. This could cause existing systems that are saying alive due to the dynamic swap management to go into meltdown without warning.
Of all of these, the first two are the most important to get done quickly to reduce overall user confusion about this feature.
We should also reach out to existing users and determine if there will be any adverse impact to them. An online form should be created with the following questions:
Do you currently set swap::dynamic_script: false?
If we change set swap::dynamic_script: false to the default and swap::swappiness: 30, do you know what the impact will be?
What is the current value of vm.swappiness on your systems?
Are you willing to set swap::dynamic_script: false and swap::swappiness: 30 on your systems and let us know of any adverse impact?
I've gotten feedback from enough users that disabling this and setting it to the usual system default is what we should do.
The default will be set to 60 since this seems to be the new default across the board.
The documentation will not be updated much since the "magic" is going to be disabled by default.