1
0
Fork 0

Adjust profiles to set dirty_(bytes|ratio) via the vm plugin

This commit is contained in:
Pavol Žáčik 2024-09-17 16:24:47 +02:00
parent 7ab8752705
commit 155f2323a4
No known key found for this signature in database
GPG key ID: B99527D5E6487A92
14 changed files with 51 additions and 45 deletions

View file

@ -17,7 +17,7 @@ platform_profile=performance
[disk]
readahead=>4096
[sysctl]
[vm]
# 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
@ -25,12 +25,13 @@ readahead=>4096
#
# The generator of dirty data starts writeback at this percentage (system default
# is 20%)
vm.dirty_ratio = 40
dirty_ratio = 40
# Start background writeback (via writeback threads) at this percentage (system
# default is 10%)
vm.dirty_background_ratio = 10
dirty_background_ratio = 10
[sysctl]
# PID allocation wrap value. When the kernel's next PID value
# reaches this value, it wraps back to a minimum PID value.
# PIDs of value pid_max or larger are not allocated.

View file

@ -14,7 +14,7 @@ min_perf_pct=100
[acpi]
platform_profile=performance
[sysctl]
[vm]
# 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
@ -22,12 +22,13 @@ platform_profile=performance
#
# The generator of dirty data starts writeback at this percentage (system default
# is 20%)
vm.dirty_ratio=10
dirty_ratio=10
# Start background writeback (via writeback threads) at this percentage (system
# default is 10%)
vm.dirty_background_ratio=3
dirty_background_ratio=3
[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

View file

@ -12,11 +12,11 @@ force_latency=5
[vm]
# For multi-instance SQL deployments use 'madvise' instead of 'always'
transparent_hugepages=always
dirty_background_ratio=3
dirty_ratio=80
[sysctl]
vm.swappiness=1
vm.dirty_background_ratio=3
vm.dirty_ratio=80
vm.dirty_expire_centisecs=500
vm.dirty_writeback_centisecs=100
vm.max_map_count=1600000

View file

@ -8,8 +8,6 @@ include=throughput-performance
[sysctl]
vm.swappiness = 10
vm.dirty_background_ratio = 3
vm.dirty_ratio = 40
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.shmmax = 4398046511104
@ -27,4 +25,6 @@ kernel.panic_on_oops = 1
kernel.numa_balancing = 0
[vm]
dirty_background_ratio = 3
dirty_ratio = 40
transparent_hugepages=never

View file

@ -16,22 +16,20 @@ 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.
# 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).
vm.dirty_background_ratio = 0
vm.dirty_ratio = 0
vm.dirty_background_bytes = 67108864
vm.dirty_bytes = 536870912
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

View file

@ -13,10 +13,10 @@ min_perf_pct=100
[vm]
transparent_hugepages=never
dirty_ratio = 40
dirty_background_ratio = 10
[sysctl]
kernel.sem = 32000 1024000000 500 32000
kernel.numa_balancing = 0
vm.dirty_ratio = 40
vm.dirty_background_ratio = 10
vm.swappiness = 10

View file

@ -11,10 +11,12 @@ governor=performance
energy_perf_bias=performance
min_perf_pct=100
[vm]
dirty_ratio = 40
dirty_background_ratio = 10
[sysctl]
kernel.numa_balancing = 1
vm.dirty_ratio = 40
vm.dirty_background_ratio = 10
vm.swappiness=10
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1

View file

@ -26,10 +26,12 @@ spindown=6
[scsi_host]
alpm=medium_power
[vm]
dirty_ratio=60
[sysctl]
vm.dirty_writeback_centisecs=6000
vm.dirty_expire_centisecs=9000
vm.dirty_ratio=60
vm.laptop_mode=5
vm.swappiness=30

View file

@ -17,6 +17,20 @@ energy_performance_preference=performance
[acpi]
platform_profile=performance
[vm]
# 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%)
dirty_ratio = 40
# Start background writeback (via writeback threads) at this percentage (system
# default is 10%)
dirty_background_ratio = 10
# Marvell ThunderX
[vm.thunderx]
type=vm
@ -31,19 +45,6 @@ transparent_hugepages=never
readahead=>4096
[sysctl]
# 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 = 40
# Start background writeback (via writeback threads) at this percentage (system
# default is 10%)
vm.dirty_background_ratio = 10
# PID allocation wrap value. When the kernel's next PID value
# reaches this value, it wraps back to a minimum PID value.
# PIDs of value pid_max or larger are not allocated.

View file

@ -6,7 +6,7 @@
summary=Optimize for running inside a virtual guest
include=throughput-performance
[sysctl]
[vm]
# 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
@ -14,8 +14,9 @@ include=throughput-performance
#
# The generator of dirty data starts writeback at this percentage (system default
# is 20%)
vm.dirty_ratio = 30
dirty_ratio = 30
[sysctl]
# Filesystem I/O is usually much more efficient than swapping, so try to keep
# swapping low. It's usually safe to go even lower than this on systems with
# server-grade storage.

View file

@ -6,10 +6,10 @@
summary=Optimize for running KVM guests
include=throughput-performance
[sysctl]
[vm]
# Start background writeback (via writeback threads) at this percentage (system
# default is 10%)
vm.dirty_background_ratio = 5
dirty_background_ratio = 5
[cpu]
# Setting C3 state sleep mode/power savings

View file

@ -1,5 +1,5 @@
[main]
summary=Post-loaded profile that uses variables from the regular active profile
[sysctl]
vm.dirty_ratio=${foo}
[vm]
dirty_ratio=${foo}

View file

@ -1,5 +1,5 @@
[main]
summary=Post-loaded profile
[sysctl]
vm.dirty_ratio=8
[vm]
dirty_ratio=8

View file

@ -1,5 +1,5 @@
[main]
summary=Second version of the post-loaded profile
[sysctl]
vm.dirty_ratio=7
[vm]
dirty_ratio=7