sysctl.sh 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/bash
  2. Bandwidth="${1:-1000}" # MB
  3. RTT="${2:-60}" # ms
  4. BDP=`echo "${Bandwidth} ${RTT}" |awk '{printf "%d", ($1 * $2) * ((1024 * 1024) / (1000 * 8))}' 2>/dev/null`
  5. [ -n "$BDP" ] && [ "$BDP" -gt 0 ] || BDP="7864320"
  6. cat >/etc/sysctl.conf<<EOF
  7. # This line below add by user.
  8. kernel.pid_max = 65536
  9. kernel.sched_autogroup_enabled = 0
  10. fs.file-max = 104857600
  11. fs.aio-max-nr = 1048576
  12. fs.nr_open = 1048576
  13. fs.inotify.max_user_instances = 10240
  14. fs.inotify.max_user_watches = 1048576
  15. fs.inotify.max_queued_events = 32768
  16. vm.page-cluster = 0
  17. vm.overcommit_memory = 0
  18. vm.oom_kill_allocating_task = 1
  19. vm.max_map_count = 1048576
  20. vm.vfs_cache_pressure = 256
  21. vm.min_free_kbytes = 16384
  22. vm.zone_reclaim_mode = 0
  23. vm.dirty_writeback_centisecs = 100
  24. vm.dirty_expire_centisecs = 1000
  25. vm.dirty_background_ratio = 5
  26. vm.dirty_ratio = 25
  27. vm.swappiness = 10
  28. net.netfilter.nf_conntrack_max = 1048576
  29. net.core.default_qdisc = fq_codel
  30. net.core.netdev_max_backlog = 1048576
  31. net.core.somaxconn = 1048576
  32. net.core.optmem_max = ${BDP}
  33. net.core.rmem_max = ${BDP}
  34. net.core.wmem_max = ${BDP}
  35. net.core.rmem_default = ${BDP}
  36. net.core.wmem_default = ${BDP}
  37. net.core.busy_poll = 0
  38. net.core.busy_read = 0
  39. net.ipv4.ip_forward = 1
  40. net.ipv4.tcp_congestion_control = bbr
  41. net.ipv4.udp_rmem_min = 8192
  42. net.ipv4.udp_wmem_min = 8192
  43. net.ipv4.udp_mem = 32768 49152 65536
  44. net.ipv4.tcp_mem = 32768 49152 65536
  45. net.ipv4.tcp_rmem = 4096 87380 ${BDP}
  46. net.ipv4.tcp_wmem = 4096 16384 ${BDP}
  47. net.ipv4.tcp_syncookies = 1
  48. net.ipv4.tcp_syn_retries = 3
  49. net.ipv4.tcp_synack_retries = 2
  50. net.ipv4.tcp_max_syn_backlog = 4096
  51. net.ipv4.tcp_fin_timeout = 8
  52. net.ipv4.tcp_keepalive_intvl = 32
  53. net.ipv4.tcp_keepalive_probes = 3
  54. net.ipv4.tcp_keepalive_time = 600
  55. net.ipv4.tcp_retries1 = 3
  56. net.ipv4.tcp_retries2 = 5
  57. net.ipv4.tcp_no_metrics_save = 1
  58. net.ipv4.tcp_timestamps = 1
  59. net.ipv4.tcp_window_scaling = 1
  60. net.ipv4.tcp_moderate_rcvbuf = 1
  61. net.ipv4.tcp_slow_start_after_idle = 0
  62. net.ipv4.tcp_notsent_lowat = 32768
  63. net.ipv4.tcp_mtu_probing = 1
  64. net.ipv4.tcp_fastopen = 0
  65. net.ipv4.tcp_fack = 1
  66. net.ipv4.tcp_sack = 1
  67. net.ipv4.tcp_dsack = 1
  68. net.ipv4.tcp_ecn = 0
  69. net.ipv4.tcp_ecn_fallback = 1
  70. net.ipv4.conf.all.accept_redirects = 0
  71. net.ipv4.conf.default.accept_redirects = 0
  72. net.ipv6.conf.all.disable_ipv6 = 0
  73. net.ipv6.conf.all.forwarding = 1
  74. net.ipv6.conf.all.accept_ra = 2
  75. net.ipv6.conf.all.proxy_ndp = 1
  76. EOF
  77. sysctl -p
  78. sysctl -w net.ipv4.route.flush=1