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 就是最终的根文件系统。