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

	| 参数名 |  取值  | 说明 |
	|  net.ipv4.ip_forward |    0,1 |  是否开启数据包转发 |
	|  net.ipv4.conf.default.rp_filter  | 0,1 |  对从默认网卡进来的数据包进行反向路径校验 |
    | net.ipv4.conf.default.accept_source_route  | 0,1 | 是否接受含有源路由信息的ip包 |
	| net.ipv4.tcp_max_tw_buckets | size | 处于time_wait状态的最大数值,超过则立刻被清除 |
	| net.ipv4.ip_local_port_range | start end |对外连接端口范围 |
	| net.ipv4.tcp_max_syn_backlog| size | SYN队列的长度 |
	| fs.file-max | size | 系统打开的最大文件句柄数 |
	| kernel.hostname |string| 主机名 |
	| net.ipv4.icmp_echo_ignore_all | 0,1 | 忽略所有ping

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

	top命令参数及意义:
	
		参数名  对应/proc路径  说明
		PID列   为/proc目录下的数字目录    进程ID,每个进程的PID数字做为目录名称
		USER  为/proc/PID/status文件中的以Uid开头行的第一列数字  进程的所属用户
		PR       在/proc/PID/stat文件中第18列数值  任务的调度优先级
		NI         在/proc/PID/stat文件中第19列数值
		VIRT    在/proc/PID/statm文件中第1列数值(单位为页)虚拟内存大小(KiB),任务使用的虚拟内存总量。 它包括所有代码,数据和共享库以及已换出的页面和已映射但未使用的页面
		RES    在/proc/PID/statm文件中第2列数值(单位为页  表示驻留内存大小(KiB) ,任务正在使用的非交换物理内存
		SHR   在/proc/PID/statm文件中第3列数值(单位为页) 表示共享内存大小(KiB),可能与其他进程共享的内存
		S        这行显示的进程状态   为/proc/PID/status文件中State
		%CPU   CPU使用率,自上一次屏幕刷新以来占用的CPU时间与总CPU时间的百分比。(通过计算得到)
		%MEM  内存使用(RES)任务当前使用的可用物理内存份额。(通过计算RES与总内存比率得到)
		TIME+   在/proc/PID/stat文件中体现为两个时间之和 :第14列该任务在用户态运行的时间 和第15列该任务在核心态运行的时间  任务自启动以来使用的总CPU时间,显示百分之一秒的精度
		COMMAND  /proc/#/status文件中以Name开头的行  进程名

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

while循环:
			#!/bin/bash
			declare -i uphosts=0
			declare -i downhosts=0
			declare -i i=1

			 hostping(){
					if ping -W 1 -c 1 $1 &> /dev/null; then
							echo "$1 is up."
							return 0
					else
							echo "$1 is down."
							return 1
					fi
					}
			while [ $i -le 254 ];do
					hostping 10.0.0.$i
					[ $? -eq 0] && let uphosts++ || let downhosts++
					let i++
			done
			echo "Up hosts: $uphosts. Down hosts: $downhosts."			

for循环:
			#!/bin/bash
			
			declare -i uphosts=0
			declare -i downhosts=0
			for i in {1..254}; do
					if ping -W 1 -c 1 10.0.0.$i &> /dev/null; then
							echo "10.0.0.$i is up."
							let uphosts+=1
					else
							echo "10.0.0.$i is down."
							let downhosts+=1
					fi
			done
			echo "Up hosts: $uphosts. Down hosts: $downhosts."

4、说明initrd的作用

initrd 的英文含义是 boot loader initialized RAM disk,即由引导程序初始化的RAM磁盘。initrd是在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。initrd与内核绑定在一起, 并作为内核引导过程的一部分进行加载。内核然后会将这个initrd文件作为其阶段引导过程的一部分来加载模块,这样才能在以后的引导过程中使用真正的文 件系统,并挂载实际的根文件系统。根文件系统可以存储在包括IDE、SCSI、USB在内的多种介质上,如果将这些设备的驱动都编译进内核,可以想象内核 会多么庞大、臃肿。所以可以把initrd看做是在启动过程中连接内核与根文件系统的一个桥梁。