New kernels (5.13 and newer) moved some sched_ and numa_ knobs from the sysctl to the debugfs, thus add and abstract these knobs under the scheduler plugin. With help of this abstraction it will write the tuning to the correct place according to the kernel used. Example: [scheduler] sched_migration_cost_ns = 500000 Will work on the old kernel the same way as: [sysctl] kernel.sched_migration_cost_ns = 500000 I.e. it will write '500000' to the: /proc/sys/kernel/sched_migration_cost_ns And on the new kernel it will write '500000' to the: /sys/kernel/debug/sched/migration_cost_ns Also updated TuneD profiles. Resolves: rhbz#1952687 Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
57 lines
1.8 KiB
Text
57 lines
1.8 KiB
Text
#
|
|
# tuned configuration for PostgreSQL servers
|
|
#
|
|
|
|
[main]
|
|
summary=Optimize for PostgreSQL server
|
|
include=throughput-performance
|
|
|
|
[cpu]
|
|
# The alternation of CPU bound load and disk IO operations of postgresql
|
|
# db server suggest CPU to go into powersave mode.
|
|
#
|
|
# Explicitly disable deep c-states to reduce latency on OLTP workloads.
|
|
force_latency=1
|
|
|
|
[vm]
|
|
transparent_hugepages=never
|
|
|
|
[sysctl]
|
|
|
|
# The dirty_background_ratio and dirty_ratio controls percentage of memory
|
|
# that file system cache have to fill with dirty data before kernel will
|
|
# will start to flush data to disks. The default values are 10% and 20%
|
|
# accordingly. On a systems with a big amount of memory this values can
|
|
# be tens of gigabytes and produce IO spikes when PostgreSQL server writes
|
|
# checkpoints.
|
|
#
|
|
# Keep this values reasonable small - about size of RAID controller write-back
|
|
# cache size (typcal 512MB - 2GB).
|
|
vm.dirty_background_ratio = 0
|
|
vm.dirty_ratio = 0
|
|
vm.dirty_background_bytes = 67108864
|
|
vm.dirty_bytes = 536870912
|
|
|
|
# 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=3
|
|
|
|
# The autogroup feature of the CFS
|
|
# (system default is 1, e.q enabled)
|
|
kernel.sched_autogroup_enabled = 0
|
|
|
|
[scheduler]
|
|
# ktune sysctl settings for rhel6 servers, maximizing i/o throughput
|
|
#
|
|
# Minimal preemption granularity for CPU-bound tasks:
|
|
# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds)
|
|
sched_min_granularity_ns = 10000000
|
|
|
|
# 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)
|
|
sched_migration_cost_ns = 50000000
|