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. 既然选择了远方,便只顾风雨兼程--myvue

    浅谈以下vue的模式,其实vue的模式跟react是一样的,都是MVVM模式,就是直接数据和视图之间的切换 如果单纯这样认识的话,和angular相比较起来,vue就简单的很多,但是事实情况并不是这样 ...

  2. shell中wait命令详解

    wait命令介绍 wait [作业指示或进程号] 1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态.如果没有制定参数,则等待所有子进程的退出,其退出状态为0. 2.如果是s ...

  3. js 清空html input file的值

    在做上传图片预览时,利用input onchange事件触发函数,但是type=file时,一定记得新建要清空原来的图片,因为原来的图片还存在在input里面,再选重复的图片没有change,故不会触 ...

  4. Java 文件重命名

    Java 文件重命名 /** * 重命名文件 * @param fileName * @return */ public static void renameFile(String filePath, ...

  5. 基本数据类型大总结(int,str,list,dict,tuple)

    python基本数据类型 int==>整数,主要用来进行数学运算 str==>字符串,可以保存单一数值 bool==>判断真假,true,false list==>存储大量数据 ...

  6. SpringBoot整合shiro实现用户的认证授权

    * 项目环境搭建 * 配置ShiroConfig,用于shiro的基本配置和注入自定义规则 * 实现自定义的realm,继承AuthorizingRealm * 编写测试controller和页面 基 ...

  7. flask --- 02. 路由, 初始化配置,蓝图

    一.Flask 路由 1.添加路由的方式 ① ② 实例: ① @app.route("/my_de") def detail() ② def detail() app.add_ur ...

  8. .NET 实用扩展方法

    .NET 实用扩展方法(持续更新...) 1. 字符串转换为可空数值类型(int, long, float...类似) /// <summary> /// 将字符串转换成32位整数,转换失 ...

  9. 【做题】51Nod1766树上的最远点对——直径&线段树

    原文链接 https://www.cnblogs.com/cly-none/p/9890837.html 题意:给出一棵大小为\(n\)的树,边有边权.\(m\)次询问,每次给出两个标号区间\([a, ...

  10. 启动xampp出错,Port 80 in use by "Unable to open process" with PID 4!

    启动xampp出错,Port 80 in use by "Unable to open process" with PID 4! 环境:windows10 80端口被PID为4的应 ...