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内核的一些参数优化的更多相关文章

  1. 高并发情况下Linux系统及kernel参数优化

    众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参数方面和IO事件分配机制等.下面就从几方面来调整使Linux系统能够支持高并发环境. Iptabl ...

  2. (转)linux内核调优参数对比和解释

    [net] ######################## cat /proc/sys/net/ipv4/tcp_syncookies # 默认值:1 # 作用:是否打开SYN Cookie功能,该 ...

  3. u-boot向linux内核传递启动参数(详细)

    U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式 ...

  4. u-boot向linux内核传递启动参数

    U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式 ...

  5. Linux内核TCP/IP参数分析与调优

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/167.html?1456482565 如下图展示的是TCP的三个阶段.1,TCP三次握手. ...

  6. 云服务器-Ubuntu更新系统版本-更新Linux内核-服务器安全配置优化-防反弹shell

    购入了一台阿里云的ESC服务器,以前都用CentOS感觉Yum不怎么方便,这次选的Ubuntu16.04.7 搭好服务之后做安全检查,发现Ubuntu16.04版本漏洞众多:虽然也没有涉及到16.04 ...

  7. Linux内核协议栈 NAT性能优化之FAST NAT

    各位看官非常对不起,本文是用因为写的,如果多有不便敬请见谅 代码是在商业公司编写的,在商业产品中也不能开源,再次抱歉   This presentation will highlight our ef ...

  8. 《C预处理》Linux内核中可变参数宏的用法

    http://blog.csdn.net/tankai19880619/article/details/12015305

  9. Linux内核 TCP/IP参数调优

    http://www.360doc.com/content/14/0606/16/3300331_384326124.shtml

随机推荐

  1. bloom filter小结

    Bloom Filter是由 Howard Bloom在 1970 年提出的一种多哈希函数映射的快速查找算法,它是一种空间效率很高的随机数据结构,利用位数组很简洁地表示一个集合,并能判断一个元素是否属 ...

  2. leetcode-easy-string-387 First Unique Character in a String

    mycode  24.42% class Solution: def firstUniqChar(self, s: str) -> int: dic = {} for i in range(le ...

  3. 整理ing

    RT 要学习的 专克bzoj权限题 钟神p系列

  4. 获取当前线程状态--Thread类

    String msgToPrint = Thread.currentThread().getStackTrace()[3] .getMethodName(); 就是调用时的方法名. 其中使用的Thre ...

  5. Upload 上传

    通过点击或者拖拽上传文件 点击上传 通过 slot 你可以传入自定义的上传按钮类型和文字提示.可通过设置limit和on-exceed来限制上传文件的个数和定义超出限制时的行为.可通过设置before ...

  6. 监控部署nagios+snmp

    参看是否有安装:rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel 未安装基础支持套件的先安装: yum install -y ...

  7. python调用dll详解

    参考链接https://www.cnblogs.com/TQCAI/p/8881530.html https://www.jb51.net/article/52513.htm https://www. ...

  8. 作为程序员,你关注哪些国外 IT 网站?

    1.在线编程练习: LintCode——在线刷题网站,阶梯式训练,可帮助你更快速深入地了解各类面试题型,提供专业导师写的最优代码作为参考(Lintcode 标准答案查询——lintcode 的参考答案 ...

  9. css换行用省略号代替

    css换行用省略号代替,也可以说是长标题的文章可以使用简单的CSS样式实现省略号控制显示. 一般的文字截断(适用于内联与块): .text-overflow{ display:block;/*内联对象 ...

  10. 哈希表 HashTable(又名散列表)

    简介 其实通过标题上哈希表的英文名HashTable,我们就可以看出这是一个组合的数据结构Hash+Table. Hash是什么?它是一个函数,作用可以通过一个公式来表示: index = HashF ...