Linux学习之top命令及循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习之top命令及循环相关的知识,希望对你有一定的参考价值。
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看做是在启动过程中连接内核与根文件系统的一个桥梁。
以上是关于Linux学习之top命令及循环的主要内容,如果未能解决你的问题,请参考以下文章
Linux学习之CentOS--初识linux的一些常用命令