Files
.buildkite
.github
archiver
banking-bench
bench-exchange
bench-streamer
bench-tps
book
chacha-sys
ci
clap-utils
cli
client
core
crate-features
drone
fixed-buf
genesis
genesis-programs
gossip
install
keygen
ledger
ledger-tool
local-cluster
log-analyzer
logger
measure
merkle-tree
metrics
multinode-demo
net
net-shaper
net-utils
perf
programs
rayon-threadlimit
runtime
scripts
src
Cargo.toml
cargo-install-all.sh
configure-metrics.sh
coverage.sh
fd-monitor.sh
iftop-postprocess.sh
iftop.sh
increment-cargo-version.sh
metrics-write-datapoint.sh
net-shaper.sh
net-stats.sh
netem.sh
oom-monitor.sh
oom-score-adj.sh
perf-plot.py
perf-stats.py
set-log-filter.sh
solana-install-deploy.sh
solana-install-update-manifest-keypair.sh
system-stats.sh
tune-system.sh
ulimit-n.sh
wallet-sanity.sh
sdk
sdk-c
system-test
upload-perf
validator
vote-signer
watchtower
.appveyor.yml
.clippy.toml
.codecov.yml
.gitbook.yaml
.gitignore
.mergify.yml
.travis.yml
CONTRIBUTING.md
Cargo.lock
Cargo.toml
LICENSE
README.md
RELEASE.md
fetch-perf-libs.sh
run.sh
solana/scripts/tune-system.sh

44 lines
1.1 KiB
Bash
Raw Normal View History

# |source| this file
#
# Adjusts system settings for optimal validator performance
#
sysctl_write() {
declare name=$1
declare new_value=$2
# Test the existence of the sysctl before trying to set it
2019-06-05 14:11:03 -07:00
sysctl "$name" 2>/dev/null 1>/dev/null || return 0
declare current_value
current_value=$(sysctl -n "$name")
2019-06-05 14:11:03 -07:00
[[ $current_value != "$new_value" ]] || return 0
declare cmd="sysctl -w $name=$new_value"
if [[ -n $SUDO_OK ]]; then
cmd="sudo $cmd"
fi
echo "$ $cmd"
$cmd || true
# Some versions of sysctl exit with 0 on permission denied errors
current_value=$(sysctl -n "$name")
if [[ $current_value != "$new_value" ]]; then
echo "==> Failed to set $name. Try running: \"SUDO_OK=1 source ${BASH_SOURCE[0]}\""
fi
}
case $(uname) in
Linux)
# Reference: https://medium.com/@CameronSparr/increase-os-udp-buffers-to-improve-performance-51d167bb1360
sysctl_write net.core.rmem_max 134217728
sysctl_write net.core.rmem_default 134217728
sysctl_write net.core.wmem_max 134217728
sysctl_write net.core.wmem_default 134217728
;;
*)
;;
esac