比如按照类别:DB/MQ/Cache/K8s/应用虚机等+机器配置:32C/256G/HDD 、4C/8G/HDD 、64C/512G/SSD 等,在加上如果机器上部署的业务有一些特殊需求等需要内核参数个性化调整来确定初始内核参数配置吗?后续是什么情况才调优呢?通过使用方反馈,或者遇到了一些问题?还是主动会优化?以及如何做多个版本内核的配置呢?比如 2 、3 、4 、5 的内核参数是有些不同的。
1
OutOfMemoryError Mar 8, 2023
fs.file-max=1000000
vm.overcommit_memory = 1 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 net.ipv4.tcp_max_syn_backlog = 16384 net.core.netdev_max_backlog = 32768 net.core.somaxconn = 32768 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_fin_timeout = 20 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_syncookies = 1 #net.ipv4.tcp_tw_len = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.ip_local_port_range = 1024 65000 net.nf_conntrack_max = 6553500 net.netfilter.nf_conntrack_max = 6553500 net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60 net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_established = 3600 有啥用我也不懂 |
2
lhbc Mar 8, 2023 via Android
这个问题太复杂了
问你们公司做内核优化的 要针对不同场景做优化 |
3
unnamedhao Mar 8, 2023 via iPhone
我记得 redhat 有个工具,可以自动优化 sysctl 参数,找 chatgpt 问一下
|
4
zhoudaiyu OP PRO @OutOfMemoryError 感谢,这是 sysctl.conf 的全部内容吗
|
6
OutOfMemoryError Mar 8, 2023
@zhoudaiyu 我随便连了内网一台业务服务器给你拉下来的。这台机器涉及到大量网络交互
|
7
zhoudaiyu OP PRO @unnamedhao chatgpt 没能理解我的问题,Google 也没搜到 😂
|
8
defunct9 Mar 8, 2023 via iPhone 开 ssh ,让我上去看看再调
|
9
salmon5 Mar 8, 2023
内核调优,糊弄住了 5 万,糊弄不住 5 白
|
10
salmon5 Mar 8, 2023 内核调优,糊弄住了 5 万,糊弄不住 5 千
|
11
salmon5 Mar 8, 2023 这个时代已经过去了,绝大部分公司不会在意孔乙己会几种回字的写法
|
12
seers Mar 8, 2023
除非程序有要求,不然不调整,不过一般数据库都会有要改得地方,k8s 的时代已经没多人在意机器极限性能了,不够就加
|
13
MrKrabs Mar 8, 2023
各种 buffer 拉大点差不多了
|
14
kebamt Mar 8, 2023
|
15
kebamt Mar 8, 2023
输入原答主的回复就告诉我了
|
16
unnamedhao Mar 9, 2023 via iPhone
tuned
|
17
idontnowhat2say Mar 10, 2023
这个我熟,作为资深的运维,也参考了不少国外的工程师的文章和书籍中的意见,可以很明确的得出结论,内核参数的最佳实践就是有需要的时候再动,因为默认的参数就已经满足 99%的需求了,没遇到问题就来优化是浪费时间,此外乱调内核参数是极其危险的行为,比如此前臭名昭著的 tcp_recyle, 不理解背后的作用和逻辑不要改,特别是从网上看别人的最佳实践,然后一股脑的 copy 过来。
|