总结linux内核的一些参数优化
sysctl命令被用于在动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。
它包含一些TCP/IP堆栈和虚拟内存系统的高级选项, 用sysctl可以读取设置超过五百个系统变量。
sysctl变量的设置,通常是字符串,数字或者布尔型(布尔型用1来表示Yes',用0来标识'No')
这里把常用的系统变量, 列队整理为脚本,便于使用.
#!bin/bash
#作者:liusingbon
#功能:优化内核参数,适用RHEL7
cat >> /usr/lib/sysctl.d/00-system.conf <<EOF
fs.file-max=65535
#最大并发访问量
net.ipv4.tcp_timestamps = 0
#禁用时间戳
net.ipv4.tcp_synack_retries = 5
#对于远端的连接请求SYN,内核会发送SYN+ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手.这里决定内核在放弃连接之前所送出的 SYN+ACK 数目.
net.ipv4.tcp_syn_retries = 5
#表示本机向外发起TCP SYN连接超时重传的次数,不应该高于255;该值仅仅针对外出的连接,对于进来的连接由tcp_retries1控制.
net.ipv4.tcp_tw_recycle = 1
#打开快速 TIME-WAIT sockets 回收。这里的 1示意启用.
net.ipv4.tcp_tw_reuse = 1
#表示是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接. 1示意启用
net.ipv4.tcp_fin_timeout = 30
#本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 60 秒。
net.ipv4.ip_local_port_range = 1024 65535
#本地发起连接时使用的端口范围,tcp初始化时会修改此值
kernel.shmall = 2097152
#系统上可以使用的共享内存的总量(单位:字节)
kernel.shmmax = 2147483648
#系统所允许的最大共享内存段的大小(单位:字节)
kernel.shmmni = 4096
#整个系统共享内存段的最大数量
kernel.sem = 5010 641280 5010 128
#该文件包含4个值:
#1.同一类信号的最多数量(semmsl)
#2.系统中信号的最多数目=semmni*semmsl (semmns)
#3.每个semop系统调用所包含的最大的操作数(能调用的信号量的最多次数) (semopm)
#4.系统中信号类型的数目的最大值,一个信号量标识符代表一个类型(semmni)
net.core.wmem_default=262144
#设置发送的socket缺省缓存大小(字节)
net.core.wmem_max=262144
#设置发送的socket最大缓存大小(字节)
net.core.rmem_default=4194304
#设置接收socket的缺省缓存大小(字节)
net.core.rmem_max=4194304
#设置接收socket的最大缓存大小(字节)
net.ipv4.tcp_window_scaling = 0
#表示设置tcp/ip会话的滑动窗口大小是否可变,0示意禁用
net.ipv4.tcp_sack = 0
#表示是否启用有选择的应答(Selective Acknowledgment),这可以通过有选择地应答乱序接收到的报文来提高性能,这样可以让发送者只发送丢失的报文段;
#对于广域网通信来说,这个选项应该启用,但是这会增加对 CPU 的占用.
#net.ipv4.tcp_keepalive_time = 1200
#表示从最后一个包结束后多少秒内没有活动,才发送keepalive包保持连接,默认7200s,理想可设为1800s,即如果非正常断开,1800s后可通过keepalive知道.这里使用#注释掉.
EOF
sysctl –p
总结linux内核的一些参数优化的更多相关文章
- 高并发情况下Linux系统及kernel参数优化
众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参数方面和IO事件分配机制等.下面就从几方面来调整使Linux系统能够支持高并发环境. Iptabl ...
- (转)linux内核调优参数对比和解释
[net] ######################## cat /proc/sys/net/ipv4/tcp_syncookies # 默认值:1 # 作用:是否打开SYN Cookie功能,该 ...
- u-boot向linux内核传递启动参数(详细)
U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式 ...
- u-boot向linux内核传递启动参数
U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式 ...
- Linux内核TCP/IP参数分析与调优
转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/167.html?1456482565 如下图展示的是TCP的三个阶段.1,TCP三次握手. ...
- 云服务器-Ubuntu更新系统版本-更新Linux内核-服务器安全配置优化-防反弹shell
购入了一台阿里云的ESC服务器,以前都用CentOS感觉Yum不怎么方便,这次选的Ubuntu16.04.7 搭好服务之后做安全检查,发现Ubuntu16.04版本漏洞众多:虽然也没有涉及到16.04 ...
- Linux内核协议栈 NAT性能优化之FAST NAT
各位看官非常对不起,本文是用因为写的,如果多有不便敬请见谅 代码是在商业公司编写的,在商业产品中也不能开源,再次抱歉 This presentation will highlight our ef ...
- 《C预处理》Linux内核中可变参数宏的用法
http://blog.csdn.net/tankai19880619/article/details/12015305
- Linux内核 TCP/IP参数调优
http://www.360doc.com/content/14/0606/16/3300331_384326124.shtml
随机推荐
- global和nonlocal的用法
1 nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量.写在内部嵌套函数里面,它实质上是将该变量定义成了全局变量,它等价于用两个global来定义该变量.只不过用两个gl ...
- Spring事务管理配置以及异常处理
Spring事务管理配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- springboot--websocket简单demo(一):session chat
最近跟着大佬 https://tycoding.cn/2019/06/16/project/boot-chat/ 敲了2个关于websocket的demo,总结一下 从将会话信息保存在session中 ...
- Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work
错误: 解决: cat /etc/sysctl.conf net.ipv4.ip_forward=1net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_recycle ...
- 一文搞懂HTTP和HTTPS协议
1.什么是协议? 网络协议是计算机之间为了实现网络通信而达成的一种"约定"或者"规则",有了这种"约定",不同厂商的生产设备,以及不同操作系 ...
- stringbuffer.tostring引发的 Java heap space
今天在测试“生成报告“功能时,出现了这个问题,java抛出java.lang.OutOfMemoryError: Java heap space: 由于开发使用的tomcat是统一配置的,而且其他地方 ...
- Python基础语法之文件操作
1 读文件 1.1 简单读文件 f = open('text', 'r') # f是文件句柄 data = f.read() # read方法可以加整型参数,是几就读几个字符 print(data) ...
- 浅谈spring配置定时任务的几种方式
网上看到好多关于定时任务的讲解,以前只简单使用过注解方式,今天项目中看到基于配置的方式实现定时任务,自己做个总结,作为备忘录吧. 基于注解方式的定时任务 首先spring-mvc.xml的配置文件中添 ...
- 第五周总结&实验·
本周总结 1.final声明的变量即成为常量,常量不可以修改. 2.子类能够 ...
- python中函数的参数和返回值
目录 函数 目标 01. 函数参数和返回值的作用 1.1 无参数,无返回值 1.2 无参数,有返回值 1.3 有参数,无返回值 1.4 有参数,有返回值 02. 函数的返回值 进阶 示例 -- 温度和 ...