87 lines · 3.0 KB · Shell
RawDownload
#!/bin/bash cat > sysctl.conf <<EOF# maximum number of open files/file descriptorsfs.file-max = 4194303 # use as little swap space as possiblevm.swappiness = 1 # prioritize application RAM against disk/swap cachevm.vfs_cache_pressure = 50 # minimum free memoryvm.min_free_kbytes = 1000000 # follow mellanox best practices https://community.mellanox.com/s/article/linux-sysctl-tuning# the following changes are recommended for improving IPv4 traffic performance by Mellanox # disable the TCP timestamps option for better CPU utilizationnet.ipv4.tcp_timestamps = 0 # enable the TCP selective acks option for better throughputnet.ipv4.tcp_sack = 1 # increase the maximum length of processor input queuesnet.core.netdev_max_backlog = 250000 # increase the TCP maximum and default buffer sizes using setsockopt()net.core.rmem_max = 4194304net.core.wmem_max = 4194304net.core.rmem_default = 4194304net.core.wmem_default = 4194304net.core.optmem_max = 4194304 # increase memory thresholds to prevent packet dropping:net.ipv4.tcp_rmem = 4096 87380 4194304net.ipv4.tcp_wmem = 4096 65536 4194304 # enable low latency mode for TCP:net.ipv4.tcp_low_latency = 1 # the following variable is used to tell the kernel how much of the socket buffer# space should be used for TCP window size, and how much to save for an application# buffer. A value of 1 means the socket buffer will be divided evenly between.# TCP windows size and application.net.ipv4.tcp_adv_win_scale = 1 # maximum number of incoming connectionsnet.core.somaxconn = 65535 # maximum number of packets queuednet.core.netdev_max_backlog = 10000 # queue length of completely established sockets waiting for acceptnet.ipv4.tcp_max_syn_backlog = 4096 # time to wait (seconds) for FIN packetnet.ipv4.tcp_fin_timeout = 15 # disable icmp send redirectsnet.ipv4.conf.all.send_redirects = 0 # disable icmp accept redirectnet.ipv4.conf.all.accept_redirects = 0 # drop packets with LSR or SSRnet.ipv4.conf.all.accept_source_route = 0 # MTU discovery, only enable when ICMP blackhole detectednet.ipv4.tcp_mtu_probing = 1 EOF echo "Enabling system level tuning params"sysctl --quiet --load sysctl.conf && rm -f sysctl.conf # `Transparent Hugepage Support`*: This is a Linux kernel feature intended to improve# performance by making more efficient use of processor’s memory-mapping hardware.# But this may cause https://blogs.oracle.com/linux/performance-issues-with-transparent-huge-pages-thp# for non-optimized applications. As most Linux distributions set it to `enabled=always` by default,# we recommend changing this to `enabled=madvise`. This will allow applications optimized# for transparent hugepages to obtain the performance benefits, while preventing the# associated problems otherwise. Also, set `transparent_hugepage=madvise` on your kernel# command line (e.g. in /etc/default/grub) to persistently set this value. echo "Enabling THP madvise"echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t