1、列举常见的内核参数以及参数的意义
(1)net.ipv4.ip_forward:数据包的路由转发开关,设置为1表示开启,0表示关闭
(2)vm.drop_caches:清空caches,释放内存占用。设置为1表示清空pagecache,设置为2表示清空dentries和inodes,设置为3表示清空所有缓存(pagecache、dentries和inodes)
(3)kernel.hostname:主机名的内核参数
(4)net.ipv4.icmp_echo_ignore_all:忽略所有外部来的ping请求,但不影响自己对外的ping操作。设置为1表示关闭ICMP回应功能,设置0表示开启ICMP回应功能
(5)net.ipv4.tcp_max_tw_buckets:设置TCP最大的timewait数量,默认为180000
(6)net.ipv4.tcp_local_port_range:允许系统打开的端口范围,值为两个数字,中间以空格隔开,分别表示最小端口号和最大端口号
2、如何通过/proc查看top中展示的进程状态
2.1系统运行时间和平均负载:
top命令的顶部显示与uptime命令相似的输出
这些字段显示:
top - 19:05:02 #当前系统时间,会随着屏幕更新而更新
up 45 min #系统持续运行时间 (在这期间没有重启过)
2 users #当前登录用户的数量(2个用户)
load average:0.00, 0.01, 0.05 #相应最近1分钟、5分钟、15分钟内的平均负载(系统负载,即任务列表的平均长度)
2.2 任务
Tasks - 任务(进程),系统现在共有133个进程,其中处于运行中的有2个,131个在休眠(sleeping),stoped状态为0个,zombie状态(僵尸状态)为0个
2.3 CPU状态
0.1 us #用户进程占用CPU百分比
0.1 #内核进程占用CPU百分比
0.0 #用户进程空间内改变过优先级的进程占用CPU百分比
99.8 id #空闲CPU百分比
0.0 wa #等待I/O(输入输出)完成的时间
0.0 hi #硬中断
0.0 si #软中断
0.0 st #虚拟机偷取物理的时间
2.4 内存使用
显示的是内存使用率,有点像free命令,第一行是物理内存使用,第二行是虚拟内存使用(SWAP交换分区)
物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似的:交换部分显示的是:全部可用内存、已使用内存、空闲内存、缓冲交换空间
2.5 各进程(任务)的状态监控
top中展示的进程状态有:
PID:进程ID号,为/proc目录下的数字目录,每个进程的PID数字作为目录名称
USER:进程的所属用户,为/proc/PID/status文件中uid这行所对应的用户名称
PR:任务的调度优先级,在/proc/PID/stat文件中的第18列数值
NI:表示任务的NICE值,越小的值意味着越高的优先级,负值标识高优先级,正值标识低优先级。在/proc/PID/stat文件中的第19列数值
VIRT:虚拟内存大小(kib),任务使用的虚拟内存总量。它包括所有代码,数据和共享库以及已换出的页面和已映射但未使用的页面。在/proc/PID/statm文件中第1列数值(单位为页)
RES:进程占用的物理内存值
SHR:进程占用的共享内存值
S:进程状态,其中S标识休眠,R表示正在运行,Z表示僵尸态,N表示该进程优先值是负数
%CPU:该进程占用的CPU使用率
%MEN:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称
3、分别用while、for循环检测10.0.0.1/24网段存活的IP地址
4、说明initrd的作用
initrd 是一个 ramdisk 的 image 都是压缩过的文件
它的主要作用是在内核启动时加载它,安装其中的驱动
首先内核加载initrd 挂载为根文件系统
扫描系统硬件,从当前文件系统中找到驱动并安装
然后实现根切换,挂载真正的根文件系统