1
0
Fork 0
tuned/profiles/postgresql/tuned.conf
Jaroslav Škarvada a936fb8844
scheduler: abstract sched_ and numa_ knobs
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>
2021-06-30 19:45:27 +02:00

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