Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

4.2. sysctl - configure kernel parameters at runtime

4.2.1. sysctl.d

			
$ ls /etc/sysctl.d/		
$ cat /etc/sysctl.d/30-postgresql-shm.conf
			
			

4.2.2. vm.overcommit_memory

内存与交换分区分配相关

https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-captun.html

			
vm.overcommit_memory = 1
			
			

4.2.3. TCP 拥塞控制算法

https://github.com/google/bbr

2017 年之后已经集成近 linux 内核

查看当前算法

			
neo@netkiller ~ % sudo sysctl -a | egrep "net.ipv4.tcp_congestion_control|net.core.default_qdisc"
net.core.default_qdisc = fq_codel
net.ipv4.tcp_congestion_control = cubic

neo@netkiller ~ % cat /proc/sys/net/ipv4/tcp_congestion_control
cubic
			
			

确认内核已经含有 tcp_bbr 模块

			
root@netkiller ~ % lsmod | grep tcp_bbr
tcp_bbr                20480  1			
			
			

切换到bbr算法

			:
sudo -s
sysctl -w "net.core.default_qdisc=fq"
sysctl -w "net.ipv4.tcp_congestion_control=bbr"
			
			

切回cubic

			
sysctl -w "net.core.default_qdisc=fq_codel"
sysctl -w "net.ipv4.tcp_congestion_control=cubic"
			
			

写入 /etc/sysctl.conf 文件

			
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf

sudo sysctl -p			
			
			

4.2.4. bbr

修改系统变量

			
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf			
			
			

保存生效

			
sysctl -p
			
			

查看内核是否已开启BBR

			
[root@localhost ~]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
			
			

查看BBR模块是否加载成功

			
[root@localhost ~]# lsmod | grep bbr
tcp_bbr 20480 14