-
-
Save arenadoon/203aaeea434841dc45ce9db1fdac7ca2 to your computer and use it in GitHub Desktop.
Kernel sysctl configuration file for Linux
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
echo '# ======================ของเซิฟตัวเล่น======================' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# sysctl settings are defined through files in' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '#' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# Vendors settings live in /usr/lib/sysctl.d/.' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# To override a whole file, create a new file with the same in' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# /etc/sysctl.d/ and put new settings there. To override' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# only specific settings, add a file with a lexically later' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# name in /etc/sysctl.d/ and put new settings there.' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '#' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# For more information, see sysctl.conf(5) and sysctl.d(5).' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# Kernel sysctl configuration file for Linux' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '#' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# Version 1.14 - 2019-04-05' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# Michiel Klaver - IT Professional' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# http://klaver.it/linux/ for the latest version - http://klaver.it/bsd/ for a BSD variant' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '#' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# This file should be saved as /etc/sysctl.conf and can be activated using the command:' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# sysctl -e -p /etc/sysctl.conf' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# sysctl --system' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# sysctl -e -p /etc/sysctl.d/99-linux.internal.conf' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '## Keep at least 640MB of free RAM space available' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.min_free_kbytes = 655350' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '### 〓〓〓🚩ใช้สำหรับเครื่องที่มีแรมจำกัด' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '### Comments/memory https://gist.github.com/vintagewang/6148755' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '### https://www.cnblogs.com/Qing-840/p/16731088.html' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '### https://www.kernel.org/doc/Documentation/sysctl/vm.txt' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# https://www.cnblogs.com/Qing-840/p/16731088.html' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# +1 https://gist.github.com/vintagewang/6148755' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.overcommit_memory=1' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.min_free_kbytes=5000000' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# 🚩vm.drop_caches=1 flush all RAM to disk เพื่อล้าง RAM ทั้งหมดลงดิสก์🚩https://stackoverflow.com/a/20215710' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.drop_caches=1' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.zone_reclaim_mode=0' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.max_map_count=655360' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.dirty_background_ratio=50' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.dirty_ratio=50' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.page-cluster=3' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.dirty_writeback_centisecs=360000' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'vm.swappiness=10' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_no_metrics_save = 1' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.core.netdev_max_backlog = 16384' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.core.somaxconn = 65535' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_fin_timeout = 15' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_keepalive_time = 60' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_keepalive_probes = 2' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_keepalive_intvl = 10' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.core.rmem_max=256960' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.core.wmem_max=256960' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.udp_rmem_min = 16384' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.udp_wmem_min = 16384' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'kernel.core_uses_pid = 1' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# Use BBR TCP congestion control and set tcp_notsent_lowat to 16384 to ensure HTTP/2 prioritization works optimally' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# Do a 'modprobe tcp_bbr' first (kernel > 4.9)' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# Fall-back to htcp if bbr is unavailable (older kernels)' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '#net.ipv4.tcp_congestion_control = htcp' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_congestion_control = bbr' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_congestion_control = bbr_powered' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_notsent_lowat = 16384' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_slow_start_after_idle = 0' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# For servers with tcp-heavy workloads, enable 'fq' queue management scheduler (kernel > 3.12)' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.core.default_qdisc = fq' >> /etc/sysctl.d/99-linux.internal.conf | |
echo '# Turn on the tcp_window_scaling' >> /etc/sysctl.d/99-linux.internal.conf | |
echo 'net.ipv4.tcp_window_scaling = 1' >> /etc/sysctl.d/99-linux.internal.conf | |
sysctl -p | |
ulimit -n 655350 | |
echo 'ulimit -n 655350' >> /etc/profile | |
DISK=`df -k | sort -n -r -k 2 | awk -F/ 'NR==1 {gsub(/[0-9].*/,"",$3); print $3}'` | |
[ "$DISK" = 'cciss' ] && DISK='cciss!c0d0' | |
echo 'deadline' > /sys/block/$DISK/queue/scheduler | |
echo "---------------------------------------------------------------" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment