ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux学习之top命令及循环

2019-08-11 21:56:05  阅读:262  来源: 互联网

标签:downhosts top PID echo 循环 ipv4 Linux net proc


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看做是在启动过程中连接内核与根文件系统的一个桥梁。

标签:downhosts,top,PID,echo,循环,ipv4,Linux,net,proc
来源: https://blog.51cto.com/13369003/2428641

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有