第七周作业

第七周作业

1、内核参数

内核参数可使用sysctl -a进行查看,默认配置文件为/etc/sysctl.conf

常见参数

参数名取值说明
net.ipv4.ip_forward0,1是否开启数据包转发
net.ipv4.icmp_echo_ignore_all0,1忽略所有ping
net.ipv4.conf.default.rp_filter = 10,1是否开启反向路径检查
kernel.hostnamestring主机名
net.ipv4.ip_local_port_rangestart endTCP/UDP协议允许使用的本地端口号

修改内核参数

  • 编辑/etc/sysctl.conf配置文件,使用sysctl -p重新装载配置文件
  • 使用echo命令输出字符到指定位置进行修改,如echo 1 > /proc/sys/net/ipv4/ip_forward

2、top

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

top - 16:13:54 up  5:33,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 112 total,   1 running, 111 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863248 total,  1576340 free,   103028 used,   183880 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1569636 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                             
     1 root      20   0  128108   6564   4132 S   0.0  0.4   0:01.67 systemd 

字段对应关系

  • cat /proc/[pid]/stat
  • cat /proc/[pid]/status
top/proc
PID:进程ID/proc/#或/proc/#/stat文件中第1个字段内容
USER:进程属主/proc/#/status文件中,以Uid开头行的第一列数字
PR:优先级/proc/#/stat文件中第18个字段内容
NI:nice值/proc/#/stat文件中第19个字段内容
VIRT:虚拟内存集/proc/#/status文件中以VmSize开头的行
RES:常驻内存集/proc/#/status文件中以VmRSS开头的行
SHR:共享内存集/proc/#/status文件中以RssFile开头的行
S:进程状态/proc/#/status文件中以State开头的行或/proc/#/stat文件中第3个字段内容
%CPU:占用CPU时间百分比
%MEM:占用物理内存百分比
TIME+:进行运行的CPU时长
COMMAND:进程名/proc/#/cmdline文件中的内容

3、bash脚本
  • 使用while循环检测10.0.0.1/24网段存活的IP地址
#!/bin/bash

declare -i IP=0

trap  'mytrap'  INT
mytrap()  {
        echo "Quit"
        exit 1
}

while true; do
        let IP++
        if [ $IP -le 255 ]; then
                ping -c 1 -w 1 10.0.0.$IP &>/dev/null && echo 10.0.0.$IP is up || echo 10.0.0.$IP is down
        else
                declare -i IP=0
        fi
done
  • 使用for循环检测10.0.0.1/24网段存活的IP地址
#!/bin/bash

trap  'mytrap'  INT
mytrap()  {
        echo "Quit"
        exit 1
}

for ((;;IP++)); do
        if [ $IP -le 255 ]; then
                ping -c 1 -w 1 10.0.0.$IP &>/dev/null && echo 10.0.0.$IP is up || echo 10.0.0.$IP is down
        else
                declare -i IP=0
        fi
done

4、initrd的作用

initrd是系统安装完成后编译生成的,可在内存中运行的临时根文件系统。

initrd所在分区必须是kernel所能驱动的格式(比如xfs,而不是lvm)。

initrd用于提供kernel加载root fs所需的驱动。因为不可能把所有驱动都编译进内核,所以在系统安装完成后,将加载root fs所需的驱动编译进initrd中,kernel先加载initrd做为临时root fs,从中读取需要的驱动,加载真正的root fs,再切换根到真正的root fs。

转载于:https://blog.51cto.com/zengshao/2389358

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值