1 Star 0 Fork 2

sunlock0653/shell_opt

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
所有优化项.sh 5.63 KB
一键复制 编辑 原始数据 按行查看 历史
sunlock0653 提交于 2024-03-08 18:03 . vml
##网络参数调优
#通过调整tcp相关的缓存,减少零窗及TCP重传次数,保证压力充足
#表示socket监听(listen)的backlog上限
echo 65535 > /proc/sys/net/core/somaxconn
#表示套接字写默认缓冲区
echo 8388608 > /proc/sys/net/core/wmem_default
#表示套接字写最大缓冲区
echo 16777216 > /proc/sys/net/core/wmem_max
#表示套接字读默认缓冲区
echo 8388608 > /proc/sys/net/core/rmem_default
#表示套接字读最大缓冲区
echo 16777216 > /proc/sys/net/core/rmem_max
#表示最多有多少个TCP套接字不被关联到任何一个文件句柄上
echo 3276800 > /proc/sys/net/ipv4/tcp_max_orphans
#表示每个网络接口接受数据包的速率比内核处理这些报速率快时,允许送到队列的数据包的最大数目
echo 262144 > /proc/sys/net/core/netdev_max_backlog
#记录的那些尚未收到客户端确认信息的链接请求最大值
echo 262144 > /proc/sys/net/ipv4/tcp_max_syn_backlog
#时间戳可以必变序列号的卷绕,一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种异常的数据包,可将其关闭
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
#表示socket预留用于接受缓冲的最小内存,默认内存,最大内存
echo "4096 87380 16777216"> /proc/sys/net/ipv4/tcp_rmem
#表示socket预留用于发送缓冲的最小内存,默认内存,最大内存
echo "4096 65536 16777216"> /proc/sys/net/ipv4/tcp_wmem
echo 360000 > /proc/sys/net/ipv4/tcp_max_tw_buckets
#该参数标识是否启用选择性确认sacks选项
echo 1 > /proc/sys/net/ipv4/tcp_sack
#设置tcp/ip会哦话的窗口大小是否可变,为1时表示可变
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
#为了打开对端的连接,内核需要发送一个SYN,并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃链接之前发送SYN+ACK包的数量
echo 1 > /proc/sys/net/ipv4/tcp_synack_retries
#在内核放弃建立链接之前发送SYN包的数量
echo 1 > /proc/sys/net/ipv4/tcp_syn_retries
#如果套接字由本端要求关闭,这个参数决定了她保持在fin-wait-2状态的时间 。
echo 15 > /proc/sys/net/ipv4/tcp_fin_timeout
#当keepalive启用的时候,TCP发送keepalive消息的额度,缺省时为2
echo 15 > /proc/sys/net/ipv4/tcp_keepalive_time
#------------------------------------------------------------------------------------------------------#
##OS参数调优
#DN节点IO存在瓶颈,提升IO调度队列,提升IO性能
echo 1023 > /sys/block/${device}/queue/nr_requests #增大IO调度队列大
#1. 禁用selinux
#减少无用的SELINUX相关函数调度,减少性能影响
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0
#2. 设置大吞吐量模式(默认就是,无变化)
tuned-adm profile throughput-performance
#------------------------------------------------------------------------------------------------------#
##文件调优
#系统中所允许的最大句柄数目
echo 204800 > /proc/sys/fs/file-max
echo mq-deadline > /sys/block/$device/queue/scheduler
echo STEAL > /sys/kernel/debug/sched_features
#6. 关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
#------------------------------------------------------------------------------------------------------#
##网卡调优
#1. 增大缓冲区配置
ethtool -G $net0 rx 7168 tx 7168
ethtool -G $net1 rx 7168 tx 7168
##减少中断聚合
#减少中断聚合,保证新到的网络包可以及时处理,以增加软中断的代价减少网络时延
ethtool -C $net0 adaptive-rx off adaptive-tx off rx-usecs 0 rx-frames 0 tx-usecs 0 tx-frames 0
ethtool -C $net1 adaptive-rx off adaptive-tx off rx-usecs 0 rx-frames 0 tx-usecs 0 tx-frames 0
#网卡中断绑核
#关闭中断均衡
systemctl stop irqbalance.service
systemctl disable irqbalance.service
#改变网卡通道数
ethtool -L $net0 combined 48
ethtool -L $net1 combined 48
#------------------------------------------------------------------------------------------------------#
##关闭nf_conntrack
echo -e "install nf_conntrack /bin/false\nblacklist nf_conntrack\nblacklist nf_conntrack_ipv6\nblacklist xt_conntrack\nblacklist nf_conntrack_ftp\nblacklist xt_state\n
blacklist iptable_nat\nblacklist ipt_REDIRECT\nblacklist nf_nat\nblacklist nf_conntrack_ipv4" > /etc/modprobe.d/blacklist.conf
#------------------------------------------------------------------------------------------------------#
##修改grub参数
#grub 添加参数 nohz=on audit=0 sched_steal_node_limit=4 scsi_mod.use_blk_mq=y
#
echo -e "GRUB_TIMEOUT=5\nGRUB_DISTRIBUTOR=\"\$(sed 's, release .*$,,g' /etc/system-release)\"\nGRUB_DEFAULT=saved\nGRUB_DISABLE_SUBMENU=true\nGRUB_TERMINAL_OUTPUT=\"console\"\nGRUB_CMDLINE_LINUX=\"crashkernel=1024M,high rd.lvm.lv=klas/root rd.lvm.lv=klas/swap video=efifb:off biosdevname=0 net.ifnames=0 rhgb quiet smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 video=efifb:off video=VGA-1:640x480-32@60me console=tty0 console=ttyS0,115200n8i nvme_core.multipath=N nohz=on audit=0 sched_steal_node_limit=4 scsi_mod.use_blk_mq=y\"\nGRUB_DISABLE_RECOVERY="true"" >/etc/default/grub
##编译优化项
-Ofast -flto -march=armv8.2-a+crc+sve -mcpu=tsv110 -ftree-slp-vectorize -ftree-vectorize
-O2 -flto=N -march=armv8-a+lse+crc
module use /share/home/fang/hpcrunner-master/software/modulefiles/
module load bisheng/3.1.0 kml-bisheng/2.1.0
-Ofast -L/share/home/fang/hpcrunner-master/software/utils/kml-bisheng/2.1.0/lib/kvml/single/ -lkvml -L /share/home/fang/hpcrunner-master/software/utils/kml-bisheng/2.1.0/lib/ -lkm -lm -ljemalloc -mrecip=vec-sqrt:0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/sunlock0653/shell_opts.git
[email protected]:sunlock0653/shell_opts.git
sunlock0653
shell_opts
shell_opt
master

搜索帮助