学习总结第七期
Posted yurong001122
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习总结第七期相关的知识,希望对你有一定的参考价值。
1、列举常见的内核参数以及参数的意义
- 查看方式 sysctl -a
- 参数及意义
参数名 |
取值 |
说明 |
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中展示的进程状态
PID:进程id,对应为/proc/#,/proc目录下,以数字命名的目录。 USER:进程属主,/proc/#/status文件中,以Uid开头行的第一列数字。 PR:优先级。 NI:nice值。 VIRT:虚拟内存集。 RES:常驻内存集占,/proc/#/status文件中以VmRSS开头的行。 SHR:共享内存集,/proc/#/status文件中以VmLib开头的行。 S:进程状态,/proc/#/status文件中以State开头的行。 %CPU:占用CPU时间百分比。 %MEM:占用物理内存百分比,/proc/#/status文件中以VmRSS开头的行。 TIME+:进程运行的CPU时长。 COMMAND:进程名,/proc/#/status文件中以Name开头的行。
3、分别用while、for循环检测10.0.0.1/24网段存活的IP地址
for循环: #!/bin/bash # declare -i a=0 for a in 1..255;do if ping -w 2 -c 2 10.0.0.$a &>/dev/null;then echo "10.0.0.$a is up" else echo "10.0.0.$a is down" fi done while循环: #!/bin/bash # declare -i a=0 declare -i b=0 declare -i c=0 while [ $a -le 255 ];do if ping -w 2 -c 2 10.0.0.$a &>/dev/null;then echo "10.0.0.$a is up" else echo "10.0.0.$a is down" fi let a++ done
4、说明initrd的作用
initrd 是 boot loader initialized RAM disk的缩写,表示由 boot loader 初始化的内存盘。在 linux内核启动前, boot loader 会将磁盘等存储介质中的 initrd 文件先加 载到内存,内核启动时会先访问该内存中的 initrd 文件系统然后才访问真正的根文件系统。启动过程被分为两个过程,第一过程是执行内存中的 initrd 文件系统中 的初始化文件(在Linux2.4 内核是/linuxrc 文件,是由文件系统镜像生成的;在Linux2.6内核是/init文件,是使用 cpio 工具生成),负责加载内核访问根文件系统 存储介质的驱动模块, 以及加载根文件系统。第二过程是执行真正的根文件系统中的 /sbin/init 进程。 initrd的主要作用: (1)使linux 发行版适应各种不同的硬件架构 Linux发行版在内核中只编译了基本的硬件驱动,在安装过程中通过检测系统硬件,生成包含安装系统硬件 驱动的 initrd。linux 发行版必须适应各种不同的硬件架构,但又不可能把所有的驱动编译进内核,否则内 核会变得臃肿庞大。所以Initrd成为linux 发行版的必备部件。 (2)livecd适应复杂的硬件环境。 livecd是一种从CD光盘中直接引导出一个可用的Linux系统。这种方式面临更为复杂的硬件环境,也需要使 用Initrd技术 (3)usb启动盘必备技术 因为usb从驱动加载到设备真正可用大概需要几秒钟时间。如果将 usb 驱动编译进内核,那在内核访问 usb 设备时, usb 设备通常没有初始化完毕。所以改为在 initrd 中加载 usb 驱动,然后休眠几秒中,等待 usb 设备初始化完毕后再挂载 usb 设备中的文件系统。 (4)实现个性化 bootsplash Boot-splash通过对内核打补丁来改变linux控制台对图像显示的支持,通过用户空间程式来定制启动logo、 设定控制台背景和显隐启动时的字符信息,甚至能够支持开机画面的动画显示。在 linuxrc 脚本中可以很方 便地启用个性化 bootsplash。
以上是关于学习总结第七期的主要内容,如果未能解决你的问题,请参考以下文章