----------- For knowledge -----------
Credits to imoseyon
Ok, so what exactly is sysctl.conf?
Sysctl.conf is a configuration file for "sysctl" The configuration file contains the following elements, vm.min_free_kbytes, vm.dirty_ratio, vm.dirty_backgroud_ratio, vm.vfs_cache_pressure, vm.oom_kill_allocating_task. We have been focusing on it. The sysctl.conf file should be located in / etc (/ system / etc) by default. S sysctl -p somewhere somewhere during the boot process (or shortly afterward). It is not already done so. You can also run the sysctl -p manually after the OS is started.
Sysctl.conf doesn’t really get it.
min free kbytes (vm.min_free_kbytes)
This is the number of kilobytes. This is the VM value for each low zone zone in the system. For each free zone it gets a number of reserved free pages based on its size. Default is 2048kb.
dirty ratio (vm.dirty_ratio) and dirty background ratio (vm.dirty_background_ratio)
This controls how often the card writes a disk to the disk. It is not clear that there is a way for the user to write a disk. These values ​​represent a flushes will occur. Now remember, we are dealing with a spindle and a spindle. It is a little bit longer with a solid hard disk drive.
VFS Cache Pressure
Now here is where it gets interesting! In the case of the file system, it is the system without sacrificing performance at the application level. It’s not a problem.
oom allocating task (vm.oom_kill_allocating_task) (enable or disable, this is not a value.)
OOM-triggering task in out-of-memory (oom) situations. If you want to see the OOM This is a large amount of memory when killed. If this is the OOM killer, it is simply the kills for the out-of-memory condition. This is an easy-to-follow list of scans, or freeze the system.
block_dump (vm.block_dump)
This enables block I / O debugging when set to a nonzero value. If you want to go up (see / proc / sys / vm / laptop_mode), you can gather it up.
If this flag is set, it will give you information about how to get files. This makes it possible to drive up and increase battery life even more. The output of block_dump is retrieved using the "dmesg". If you’re not using your jailbreak, you’ll not be there.
overcommit_memory (vm.overcommit_memory)
More controls than is actually available.
0 - Heuristic overcommit handling. Obvious overcommits of address space are not. Used for a typical system. It is ensured that it will be completely reduced. root is allowed to allocate slighly more memory in this mode. This is the default.
1 - Always overcommit. Appropriate for some scientific applications.
2 - Don't overcommit. The total address of the physical RAM is exceeded. It’s not a problem.
page-cluster (vm.page-cluster)
This is a list of pages that are written. The swap I / O size.
It is a logarithmic value - setting it to zero means "1 page", setting it to 1 means "2 pages", setting it to 2 means "4 pages", etc.
The default value is three (eight pages at a time). If your workload is swap-intensive.
panic_on_oom (vm.panic_on_oom)
This enables or disables panic on out-of-memory feature. If this is set to 1, the kernel panics when out-of-memory happens. If this is set to 0, the kernel will kill some rogue process, by calling oom_kill ().
Usually, oom_killer can kill rogue processes and system will survive. If you want to panic the system rather than killing the rogue processes, set this to 1.
The default value is 0.
It is detected by the kernel.
dirty_expire_centisecs (vm.dirty_expire_centisecs)
How old "data" should be written to disk. It is expressed in 100ths of a second.
dirty_writeback_centisecs (vm.dirty_writeback_centisecs)
This is a period of time periodically for your writeback. It is expressed in 100ths of a second.