内核参数、top命令、脚本练习、initrd简介
发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,内核参数、top命令、脚本练习、initrd简介列举常见的内核参数以及参数的意义(1)net.ipv4.ip_forward:数据包的路由转发开关,设置为1表示开启,0表示关闭(2)net.ipv4.
千家信息网最后更新 2024年11月18日内核参数、top命令、脚本练习、initrd简介
内核参数、top命令、脚本练习、initrd简介
- 列举常见的内核参数以及参数的意义
(1)net.ipv4.ip_forward:数据包的路由转发开关,设置为1表示开启,0表示关闭(2)net.ipv4.conf.default.rp_filter对从默认网卡进来的数据包进行反向路径校验,设置为1表示开启,0表示关闭(3)net.ipv4.conf.default.accept_source_route是否接受含有源路由信息的ip包,设置为1表示开启,0表示关闭(4)net.ipv4.icmp_echo_ignore_all:忽略所有外部来的ping请求,但不影响自己对外外的ping操作。设置为1表示关闭ICMP回应功能,设置0表示开启ICMP回应功能。(5)kernel.hostname:主机名的内核参数(6)net.ipv4.tcp_max_tw_buckets:设置TCP最大的timewait数量。默认是180000(7)net.ipv4.ip_local_port_range :允许系统打开的端口范围,值为两个数字,中间以空格隔开,分别表示最小端口号和最大端口号。(8)net.ipv4.tcp_tw_recycle:启用timewait快速回收。设置为1表示启用功能。
补充:
(1)以上所有的参数分别在 /proc/sys/#/* 每个对应的目录下:例如: net.ipv4.ip_forward = /proc/sys/net/ipv4/ip_forward
(2)修改参数的值,专用命令sysctl ,或者可以使用echo重定向的方式例如:~]# echo "test.localhost " > /proc/sys/kernel/hostname ~]#sysctl -w net.ipv4.ip_forward=1
注意:以上修改方式都只对当前有效,如果想永久有效需要修改配置文件:
/etc/sysctl.conf 或者/etc/sysctl.d/*.conf 立即生效的方式:sysctl -p /PATH/TO/CONFIG.FILE
- 通过/proc查看top中展示的进程状态
top命令参数及意义:
参数名 | 对应/proc路径 | 说明 |
---|---|---|
PID列 | 为/proc目录下的数字目录 | 进程ID,每个进程的PID数字做为目录名称 |
USER | 为/proc/PID/status文件中的以Uid开头行的第一列数字 | 进程的所属用户 |
PR | 在/proc/PID/stat文件中第18列数值 | 任务的调度优先级 |
NI | 在/proc/PID/stat文件中第19列数值 | 表示任务的NICE值 |
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地址:
(1)for:
#!/bin/bash#declare -i uphosts=0declare -i downhosts=0for i in {1..254};do if ping -W 1 -c 1 10.0.0.${i} %> /dev/null; then echo " 10.0.0.$i is ip." let uphosts+=1 else echo "10.0.0.$i is down." let downhosts+=1 fidoneecho "Up hosts: $uphosts, Down hosts: $downhosts."
(2)while
#!/bin/bashdeclare -i uphosts=0declare -i downhosts=0declare -i i=1hostping(){ 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++doneecho "Up hosts: $uphosts ,Down hosts:$downhosts"
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.内核启动时加载 initrd img, 挂载根 /2.以/linuxrc 的指令执行, 一般有扫描系统硬件,从 当前文件系统中找到驱动安装之.3.挂载系统中真正的根 /
文件
内存
系统
内核
参数
任务
进程
时间
数值
数字
目录
过程
命令
两个
功能
单位
大小
数据
方式
最大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器桌面文件夹
恶意攻击服务器会怎么样
科技发展互联网的英语作文
酒店内使用的网络技术
网络安全技术能力训练
奉贤区信息软件开发产品介绍
mdb数据库安全加密
服务器怎么运行程序
国内网络安全联盟协会有哪些
致橙网络技术有限公司
启明星辰网络安全服务之星
网络安全业绩好企业龙头
数据库技术在工程项目中的应用
卜鸣深圳网络技术
数据库候选码和外码确定
应用软件开发公司简介
访问服务器上的网站
通信网络技术发展史
网络安全参加什么比赛
什么是网络技术分类服务保障
英雄联盟单双排数据库
中国高校科研数据库使用情况
逾期上报数据库怎么办
湛江软件开发制作
从技术的角度浅谈数据库
简单管理软件开发
数据库查询的设计与创建
南京金枪鱼网络技术
sqlite3检查数据库
网络安全关