1、 列举常见的内核参数以及参数的意义

关闭ipv6
net.ipv6.conf.all.disable_ipv6 = 1

关闭路由转发
net.ipv4.ip_forward = 0

最大限度使用物理内存
vm.swappiness = 0

ARP缓存的存活时间
net.ipv4.neigh.default.gc_stale_time = 120

ARP回应的级别
net.ipv4.conf.all.arp_announce = 2

SYN重试次数
net.ipv4.tcp_syn_retries = 2

SYNACK重试次数
net.ipv4.tcp_synack_retries = 2

SYN_RECV状态队列的数量
net.ipv4.tcp_max_syn_backlog = 65535

网口接收数据包比内核处理速率快状态队列的数量
net.core.netdev_max_backlog = 65535

系统能处理的不属于任何进程的socket数量
net.ipv4.tcp_max_orphans = 65535

tcp发送keepalive消息的频度
net.ipv4.tcp_keepalive_time = 600

tcp发送keepalive探测确定连接已经断开的次数
net.ipv4.tcp_keepalive_probes = 3

探测消息发送的频率
net.ipv4.tcp_keepalive_intvl = 15

系统同时保持TIME_WAIT socket的数量
net.ipv4.tcp_max_tw_buckets = 36000

开启TIME-WAIT sockets重用
net.ipv4.tcp_tw_reuse = 1

TCP/UDP协议允许使用的本地端口号
net.ipv4.ip_local_port_range = 1024 65000

每个端口最大的监听队列的数量
net.core.somaxconn = 65535

关闭tcp的连接传输的慢启动
net.ipv4.tcp_slow_start_after_idle = 0

关闭Magic System Request Key
kernel.sysrq = 0

 
 

2、 如何通过/proc查看top中展示的进程状态

    top 查看pid
    cat /proc/[pid]/status

 
 
3、 分别用while、for循环检测10.0.0.1/24网段存活的IP地址

for i in 10.0.0.{1..254}
do
ping -c 1 -i 0.1 $i >/dev/null && echo -e "$i" is up  || echo -e "$i" is down
done
#!/bin/bash
i=1
while [ $i -le 254 ] ;do
ping -c 1 -i 0.1 10.0.0.$i >/dev/null && echo -e "10.0.0.$i" is up  || echo -e "10.0.0.$i" is down
 let i++
done
#!/bin/bash
i=1
until [ $i -gt 254 ] ;do
ping -c 1 -i 0.1 -w 0.1 10.0.0.$i >/dev/null && echo -e "10.0.0.$i" is up  || echo -e "10.0.0.$i" is down
 let i++
done

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