This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, next has been updated via d03916e55851a243594ebf6f0c20c8f6d9092277 (commit) from 7ec83993e54034cfa5620fb24bec24e6f630d7a6 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit d03916e55851a243594ebf6f0c20c8f6d9092277 Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Jan 24 12:31:27 2019 +0000
Enable some performance tuning
These parameters increase the throughput on various (large-ish) systems by 5-10% on the slight expense of higher power consumption.
Socket buffers are increases and the system is configured to be less aggressive when scheduling processes from one processor to another one which ensures that the cache remains "hot" for longer.
On a slower system (apu1d) no performance improvement or loss could have been measured.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: config/etc/sysctl.conf | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-)
Difference in files: diff --git a/config/etc/sysctl.conf b/config/etc/sysctl.conf index 46ab4e1d4..7751bfd8a 100644 --- a/config/etc/sysctl.conf +++ b/config/etc/sysctl.conf @@ -24,7 +24,6 @@ net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.all.log_martians = 1
kernel.printk = 1 4 1 7 -vm.swappiness=1 vm.mmap_min_addr = 4096 vm.min_free_kbytes = 8192
@@ -45,3 +44,45 @@ kernel.kptr_restrict = 2
# Avoid kernel memory address exposures via dmesg. kernel.dmesg_restrict = 1 + +# Minimal preemption granularity for CPU-bound tasks: +# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds) +kernel.sched_min_granularity_ns = 10000000 + +# If a workload mostly uses anonymous memory and it hits this limit, the entire +# working set is buffered for I/O, and any more write buffering would require +# swapping, so it's time to throttle writes until I/O can catch up. Workloads +# that mostly use file mappings may be able to use even higher values. +# +# The generator of dirty data starts writeback at this percentage (system default +# is 20%) +vm.dirty_ratio = 10 + +# Start background writeback (via writeback threads) at this percentage (system +# default is 10%) +vm.dirty_background_ratio = 3 + +# The swappiness parameter controls the tendency of the kernel to move +# processes out of physical memory and onto the swap disk. +# 0 tells the kernel to avoid swapping processes out of physical memory +# for as long as possible +# 100 tells the kernel to aggressively swap processes out of physical memory +# and move them to swap cache +vm.swappiness = 1 + +# The total time the scheduler will consider a migrated process +# "cache hot" and thus less likely to be re-migrated +# (system default is 500000, i.e. 0.5 ms) +kernel.sched_migration_cost_ns = 5000000 + +# Increase kernel buffer size maximums +net.ipv4.tcp_rmem = 4096 87380 16777216 +net.ipv4.tcp_wmem = 4096 16384 16777216 +net.ipv4.udp_mem = 3145728 4194304 16777216 + +# Approximate time in us to busy loop waiting for packets on the device queue +net.core.busy_read=50 +net.core.busy_poll=50 + +# Enable TCP fast-open +net.ipv4.tcp_fastopen = 3
hooks/post-receive -- IPFire 2.x development tree