1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#
# 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
# 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. The values can alternatively be set in absolute number of bytes
# via dirty_background_bytes and dirty_bytes.
#
# Keep this values reasonable small - about size of RAID controller write-back
# cache size (typcal 512MB - 2GB).
dirty_background_bytes = 67108864
dirty_bytes = 536870912
[sysctl]
# 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
|