总结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
随机推荐
- 解决ssh链接慢问题
1,ssh -v root@ip 2,查看哪里卡住了 一般情况就是卡在debug1: SSH2_MSG_SERVICE_ACCEPT received 3,如果是上面卡住了 修改/etc/ssh/ss ...
- Python实现利用最大公约数求三个正整数的最小公倍数示例
Python实现利用最大公约数求三个正整数的最小公倍数示例 本文实例讲述了Python实现利用最大公约数求三个正整数的最小公倍数.分享给大家供大家参考,具体如下: 在求解两个数的小公倍数的方法时,假设 ...
- deepin的15.11中安装nvidia最新435版本驱动
换了一个电脑,跟随潮流,CPU是不带集显的,操作系统从原来的硬盘一通搬过来的 其中Deepin Linux更新到15.11. 显卡是2060的,在Deepin中目前只集成了390的nvidia驱动,无 ...
- 转载----c++ static修饰的函数作用与意义
static修饰的函数叫做静态函数,静态函数有两种,根据其出现的地方来分类: 如果这个静态函数出现在类里,那么它是一个静态成员函数: 静态成员函数的作用在于:调用这个函数不会访问或者修改任何对象(非s ...
- 学习Go语言(一)环境安装及HelloWorld
自己开发的时候,一般用Java和C#居多,偶尔也用Python做点东东. 想体验一下比较“现代”语言,思来想去就来体验一下Go语言. 闲话少叙,言归正传,首先就是环境安装,这个轻车熟路: (1)到官网 ...
- Java 读取application.properties配置文件中配置
实际开发中若需要读取配置文件application.properties中的配置,代码如下.例:读取配置文件中name属性配置值: 代码如下: import org.springframework.c ...
- 【7.9校内test】T2 极值问题
这个题真的,毫无思路的说,但是我们会打表啊: lz的打表之路: 当然是手写一个暴力啦(*^▽^*)! 然后滚去配置lemon测试一下暴力可以得多少分qwq: 是的40分呢! 然后其实看上面也能看出来一 ...
- mysql常用的基本命令
一.基本命令 1.启动服务(以管理员身份进入cmd): 格式:net start 服务名称 示例:net start mysql 2.停止服务(以管理员身份进入cmd): 格式:net stop 服务 ...
- javaweb:Response/Request的概述 (转发、重定向、get/post)转
请求响应流程图 1]response 1 response概述 response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletR ...
- PHP 数组辅助函数
/** * 取多维数据中某字段的值 * @param array $array 数据源数组 * @param string|array $field 要获取的字段 * @return array 结果 ...