Blame | Last modification | View Log | RSS feed
# ktune sysctl settings for rhel6 servers with enterprise-class# storage, maximizing i/o throughput## Minimal preemption granularity for CPU-bound tasks:# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds)kernel.sched_min_granularity_ns = 10000000# SCHED_OTHER wake-up granularity.# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds)## This option delays the preemption effects of decoupled workloads# and reduces their over-scheduling. Synchronous workloads will still# have immediate wakeup/sleep latencies.kernel.sched_wakeup_granularity_ns = 15000000# The total time the scheduler will consider a migrated process# "cache hot" and thus less likely to be re-migrated.# (default: 0.5 msec# units: nanoseconds)kernel.sched_migration_cost = 5000000# 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.vm.swappiness = 10# 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 = 5# 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.## A suggested value for pid_max is 1024 * <# of cpu cores/threads in system># e.g., a box with 32 cpus, the default of 32768 is reasonable, for 64 cpus,# 65536, for 4096 cpus, 4194304 (which is the upper limit possible).#kernel.pid_max = 65536