Linux常用内核参数

TCP状态描述

CLOSED:无连接是活动的或正在进行的

LISTEN:服务器在等待进入呼叫

SYN-RECV:一个连接请求已经到达,等待确认

SYN-SENT:应用已经开始,打开一个连接

ESTABLISHED:已经建立的连接

FIN-WAIT1:主动断开一方,第一次发送完FIN

FIN-WAIT2:主动断开一方,收到对端确认的ACK

TIME-WAIT:主动断开一方,收到FIN-ACK

CLOSE-WAIT:被动断开一方,收到对方FIN且发送完ACK后

LAST-ACK:被动断开了方,发送完FIN后

net.ipv4.ip_forward = 1

开启ip转发功能

net.core.netdev_max_backlog = 400000

该参数决定了网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目

net.core.optmeme_max = 10000000

该参数指定了每个套接字所允许的最大缓冲区的大小

net.core.rmem_default = 1000000

指定了接收套按字缓冲区大小的缺少值

net.core.rmem_max = 10000000

指定了接收套按字缓冲区大小的最大值

net.core.somaxconn = 1000000

指定socket监听的backlog(监听队列)上限

net.core.wmem_default = 11059200

定义默认的发送窗口大小

net.ipv4.tcp_windows_scaling = 0

关闭tcp_windows_scaling

net.ipv4.tcp_ecn = 0

把TCP的显式拥塞通告关闭

net.ipv4.tcp_max_tw_buckets = 10000

同时保持TEAM_WAIT套接字的最大数量

net.ipv4.tcp_max_syn_backlog = 1024

SYN队列长度,默认1024

net.ipv4.tcp_syncookies = 1

开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理

net.ipv4.tcp_tw_reuse = 1

开启重用,允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭

net.ipv4.tcp_tw_recyle = 1

表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭

net.ipv4.tcp_fin_timeout = 10

表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间

net.ipv4.tcp_keepalive_time = 1800

表示当keepalive开启的时候,TCP发送keepalive消息的频率。缺少是2小时。

net.ipv4.tcp_keepalive_probes = 3

如果对方不予应答,探测包的发送次数

net.ipv4.tcp_keepalive_intvl = 15

keepalive探测包发送间隔

net.ipv4.ip_local_port_range = 32768 65000

用于向外连接的端口范围

net.ipv4.tcp_slow_start_after_idle = 0

关闭tcp的连接传输的慢启动,即先休止一段时间,再初始化拥塞窗口

net.ipv4.route.gc_timeout = 100

路由缓存刷新频率,当一个路由失败后,多长时间跳到另一个路由,默认是300

net.ipv4.tcp_syn_retries = 1

在内核放弃建立连接之前发送SYN包的数量

修改完成后执行如下命令生效

$ sudo sysctl -p

使用while检测192.168.2.0/24网段存活的主机

#!/bin/bash
#使用while循环检测192.168.2.0/24网段内存活的主机
#对于ping测试成功的主机立即进行下一轮,对于ping
#测试不成功的主机连续进行三次测试,如果全部失败
#,则提示存机该IP不存在 TESTNET=192.168.2. ip_check() {
ping -c 1 -w 1 $1 &> /dev/null
}
i=1
while [ $i -le 255 ]
do
FAIL_NUM=0
ip_check $TESTNET$i
if [ $? -eq 0 ] ;then
echo -e "\033[32m$TESTNET$i is alive\033[0m"
else
ip_check $TESTNET$i || let FAIL_NUM++
ip_check $TESTNET$i || let FAIL_NUM++
ip_check $TESTNET$i || let FAIL_NUM++
[ $FAIL_NUM -eq 3 ] && echo -e "\033[31m$TESTNET$i is down\033[0m"
fi
let i++
done

使用for循环检测192.168.2.0/24网段存活的主机

#!/bin/bash
#使用for循环检测192.168.2.0/24网段内的主机
#如果成功直接输出,如果失败,连续检测三次 TESTNET=192.168.2. ip_check() {
ping -c 1 -w 1 $1 &> /dev/null
} for i in {1..5};do
FAIL_NUM=0
ip_check $TESTNET$i
if [ $? -eq 0 ];then
echo -e "\033[32m$TESTNET$i is alive\033[0m"
else
ip_check $TESTNET$i && echo -e "\033[32m$TESTNET$i is alive\033[0m" || let FAIL_NUM++
ip_check $TESTNET$i && echo -e "\033[32m$TESTNET$i is alive\033[0m" || let FAIL_NUM++
ip_check $TESTNET$i && echo -e "\033[32m$TESTNET$i is alive\033[0m" || let FAIL_NUM++
[ $FAIL_NUM -eq 3 ] && echo -e "\033[31m$TESTNET$i is down \033[0m"
fi
done

initrd

Linux初始化RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个initrd RAM磁盘卸载,并释放内存。

初始RAM磁盘(RAM)是在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。initrd与内核绑定在一起,并作为内核引导过程的一部分进行加载。内核会将这个initrd文件作为其两阶段引导过程的一部分来加载模块,这样才能稍后使用真正的文件系统,并挂载实际的根文件系统。

initrd中包含了实现这个目标所需要的目录和可执行程序的最小集合,例如将内核模块加载到内核中所使用的insmod工具。

在桌面或服务器Linux系统中,initrd是一个临时文件系统。其生存周期很短,只会用作到真实文件系统的一个桥梁。在没有存储设备的嵌入式系统中,initrd是永久的根文件系统。

Linux常用内核参数的更多相关文章

  1. (转)linux IO 内核参数调优 之 参数调节和场景分析

    1. pdflush刷新脏数据条件 (linux IO 内核参数调优 之 原理和参数介绍)上一章节讲述了IO内核调优介个重要参数参数. 总结可知cached中的脏数据满足如下几个条件中一个或者多个的时 ...

  2. [记录]优化Linux 的内核参数来提高服务器并发处理能力

    优化Linux 的内核参数来提高服务器并发处理能力PS:在服务器硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题.要提高Linux 系统下的负载 ...

  3. Nginx常用内核参数优化,安装,基本命令

    1.内核参数配置,默认的Linux内核参数考虑的是通用的场景,明显不符合用于支持高并发访问web服务的定义,所以需要修改Linux内核参数,使得Nginx可以拥有更高的性能.可以通过修改 /etc/s ...

  4. nginx的linux服务器内核参数调整【转】

    概述 由于默认的linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,让Nginx可以拥有更高的性能: 在优化内核时,可以做的事情很 ...

  5. linux 修改内核参数 如何生效?

    Linux 操作系统修改内核参数有3种方式: 修改 /etc/sysctl.conf 文件,加入配置选项,格式为 key = value ,修改保存后调用 sysctl -p 加载新配置使用 sysc ...

  6. Linux 系统调整内核参数

    调整系统内核参数 内核优化:Linux系统(内核 + shell + 应用程序)       针对业务服务应用而进行的系统内核参数调整(主要是/etc/sysctl.conf文件) 1. vim /e ...

  7. linux常见内核参数

    参数 描述 net.ipv4.ip_forward 接口间转发报文net.ipv4.tcp_tw_reuse 表示是否允许将处于 TIME-WAIT 状态的 socket (TIME-WAIT 的端口 ...

  8. 优化Linux的内核参数来提高服务器并发处理能力

    提高Linux系统下的负载能力,可以使用nginx等原生并发处理能力就很强的web服务器 使用Apache的可以启用其Worker模式,来提高其并发处理能力 修改Linux的内核相关TCP参数,来最大 ...

  9. linux IO 内核参数调优 之 原理和参数介绍

    1.  page cache linux操作系统默认情况下写都是有写缓存的,可以使用direct IO方式绕过操作系统的写缓存.当你写一串数据时,系统会开辟一块内存区域缓存这些数据,这块区域就是我们常 ...

随机推荐

  1. Delphi数据库技术中Disablecontrols和Enablecontrols的功能

    一般来说,用来扫描整个数据库表并修改每个记录的某一个字段的程序如下所示: with Table Do begin DisableControls;{在修改记录的过程中,使其它部件无效} First; ...

  2. codeforces 985B Switches and Lamps

    题意: 有n个开关,m盏灯. 一个开关可以控制多个灯,一旦一个灯开了之后,之后再对这个灯的操作就没用了. 问是否存在一个开关,去掉了这个开关之后,按下其它开关之后所有的灯还是亮的. 思路: 首先统计每 ...

  3. 怎样从外网访问内网Resin

    外网访问内网Resin 本地安装了Resin,只能在局域网内访问,怎样从外网也能访问本地Resin? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Resin 默认安装的Resin端口 ...

  4. Python if条件判断

    if else 判断交流 1.判断用户名密码对不对. import getpass _username = 'devin' _password = 'abc123' username = input( ...

  5. 03:open-falcon报警定制

    1.1 配置报警 11111111111111111111

  6. 03:CDN原理

    1.1 CDN简介 1.CDN作用(缓存静态资源) 1. CDN的全称Content Delivery Network,(缩写:CDN)即内容分发网络. 2. CDN解决由于网络带宽小.用户访问量大. ...

  7. mysql 5.7 运维命令

    MySQL安装 1)卸载旧版本 a) 停掉mysql #pkill -9 mysqld b) 查看rpm包 # rpm -qa|grep -i mysql c) 删除 #yum -y remove m ...

  8. zabbix链接规则

    通过磁盘  Disk for discovery    custom.vfs.dev.discovery 配置自动发现参考

  9. Python2.x与3.x对比

    1.默认支持中文 2.不再兼容2.x 3.核心语法调整 4.新特性默认只支持3.x

  10. 获取添加数据的自增ID

    $id= DB::select("select auto_increment from information_schema.`TABLES` where table_name='stude ...