第七周作业

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.ip_local_port_range :允许系统打开的端口范围,值为两个数字,中间以空格隔开,分别表示最小端口号和最大端口号。

(7)net.ipv4.tcp_tw_recycle:启用timewait快速回收。设置为1表示启用功能。

(8)net.ipv4.tcp_tw_reuse :允许将TIME-WAIT sockets重新用于新的TCP连接。设置为1表示启用功能。

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

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 :表示驻留内存大小(KiB) ,任务正在使用的非交换物理内存。在/proc/PID/statm文件中第2列数值(单位为页)

SHR :表示共享内存大小(KiB),可能与其他进程共享的内存,在/proc/PID/statm文件中第3列数值(单位为页)

S  : 为/proc/PID/status文件中State:这行显示的进程状态

%CPU :CPU使用率,自上一次屏幕刷新以来占用的CPU时间与总CPU时间的百分比。(通过计算得到)

%MEM :内存使用(RES)任务当前使用的可用物理内存份额。(通过计算RES与总内存比率得到)

TIME+ :任务自启动以来使用的总CPU时间,显示百分之一秒的精度(未找到)在/proc/PID/stat文件中体现为两个时间之和 :第14列该任务在用户态运行的时间 和第15列该任务在核心态运行的时间

COMMAND列:为/proc/PID/comm文件内容

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

10.0.0.1/24网段包含的主机IP有:10.0.0.1--10.0.0.254.

使用while循环检测脚本

#!/bin/bash

ip="1"

while [ "${ip}" != "255" ]

do

{

{

ping  -c 1 10.0.0.${ip}  &>/dev/null

[ $? -eq 0 ] && echo "10.0.0.${ip} UP"

}&

ip=$[$ip+1]

}

done

上面的脚本说明如下:

while条件为"${ip}" != "255",是通过字符串比较,先给ip赋值为"1"字符串,然后通过使用ip=$[$ip+1]使变量ip自增1,当ip变量不等于“255”字符串时,执行ping命令,所以程序会从1到254都会执行ping命令。在do{.....}done内部有一个{ping....}&的语句段是完成ping 操作的,可以把它放在后台执行,这样可以提高程序的执行效率。然后我们来看一下ping操作的过程。选项 -c 1 表示ping的次数为1,10.0.0.${ip}表示组装ping的IP地址,这样通过变量值替换就可以组装出所有的IP地址。&>/dev/null表示把所有的标准输出和错误输出都写入到/dev/null这个Linux大黑洞中,即丢弃所有输出。因为我们只想知道ping的命令结果,而不是它的输出内容。所以下一步就用 [ $? -eq 0 ] 来检查前面这个ping命令的执行结果,&&表示如果前一个命令的执行结果为真(即ping 通了),就执行后面的echo "10.0.0.${ip} UP",显示对应的IP存活。

使用for循环来写

#!/bin/bash

for     ip     in   $(seq 1 254)

do

{

ping -c 1  10.0.0.${ip}     &>/dev/null

[ $? -eq 0 ] && echo "10.0.0.${ip} is  UP"

}&

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。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容